Django가 모델에서 전체 테이블을 만들지 않는 이유는 무엇입니까?
-
20-09-2019 - |
문제
2 개의 모델이 있습니다. Manage.py syncdb를 실행하지만 2 모델에 대한 ID 필드 만 생성합니다. 나머지 필드를 생성하는 방법은 무엇입니까? 친절하게 조언하십시오. 당신의 도움은 대단히 감사합니다!
여기 내 models.py :
from django.db import models
GENDER_CHOICES = (
('M', 'Male')
, ('F', 'Female')
)
ACTIVATION_CHOICES = (
('Y', 'Activate')
, ('N', 'Inactive')
)
FULL_PART_CHOICES = (
('F', 'Full-time')
, ('P', 'Part-time')
)
# Create your models here.
class Teachers(models.Model):
id = models.AutoField(primary_key=True, null=False),
fname = models.CharField(max_length=15, null=False),
mname = models.CharField(max_length=15, null=False),
lname = models.CharField(max_length=15, null=False),
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, null=False),
nric = models.CharField(max_length=12, unique=True, null=False),
email = models.EmailField(max_length=40, unique=True, null=False),
dob = models.DateField(null=False),
unit = models.CharField(max_length=50, null=False),
block = models.CharField(max_length=50, null=False),
street = models.CharField(max_length=100, null=False),
postcode = models.CharField(max_length=10, null=False),
handphone = models.CharField(max_length=16, unique=True, null=False),
homephone = models.CharField(max_length=16, null=False),
activated = models.CharField(max_length=1, choices=ACTIVATION_CHOICES, null=False),
date_ttc = models.DateField(null=False),
full_part = models.CharField(max_length=1, choices=FULL_PART_CHOICES, null=False),
nonce = models.CharField(max_length=40, unique=True, null=False),
passwd = models.CharField(max_length=40, null=False),
created_at = models.DateTimeField(auto_now_add=True, null=False),
updated_at = models.DateTimeField(auto_now=True, null=False),
def __unicode__(self):
return "Teacher %s %s %s" % (self.fname, self.mname, self.lname)
# Create your models here.
class Admins(models.Model):
id = models.AutoField(primary_key=True, null=False),
fname = models.CharField(max_length=15, null=False),
mname = models.CharField(max_length=15, null=False),
lname = models.CharField(max_length=15, null=False),
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, null=False),
nric = models.CharField(max_length=12, unique=True, null=False),
email = models.EmailField(max_length=40, unique=True, null=False),
dob = models.DateField(null=False),
unit = models.CharField(max_length=50, null=False),
block = models.CharField(max_length=50, null=False),
street = models.CharField(max_length=100, null=False),
postcode = models.CharField(max_length=10, null=False),
handphone = models.CharField(max_length=16, unique=True, null=False),
homephone = models.CharField(max_length=16, null=False),
activated = models.CharField(max_length=1, choices=ACTIVATION_CHOICES, null=False),
nonce = models.CharField(max_length=40, unique=True, null=False),
passwd = models.CharField(max_length=40, null=False),
created_at = models.DateTimeField(auto_now_add=True, null=False),
updated_at = models.DateTimeField(auto_now=True, null=False),
def __unicode__(self):
return "Admin %s %s %s" % (self.fname, self.mname, self.lname)
해결책 2
너무 쉬웠습니다. 각 필드 선언 후에 많은 중복 쉼표가있었습니다. 나는 그것들을 제거했고 모든 것이 잘 작동했습니다.
귀하의 답변에 감사드립니다.
다른 팁
데이터가 없거나 사용하는 경우 테이블을 떨어 뜨릴 수 있습니다. django-south
마이그레이션에 사용할 수 있습니다.
제휴하지 않습니다 StackOverflow