Perché Django non crea tavolo pieno da un modello?
-
20-09-2019 - |
Domanda
Ho 2 modelli. Corro SyncDB manage.py ma crea solo campi ID per 2 modelli. Come per renderlo generare i campi rimanenti? Si prega gentilmente di comunicare. Il vostro aiuto è molto apprezzato!
Ecco la mia 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)
Soluzione 2
E 'stato troppo facile. C'erano un sacco di virgole ridondanti dopo ogni dichiarazione di campo. Ho rimosso coloro e tutto ha funzionato bene.
Grazie per le vostre risposte.
Altri suggerimenti
È possibile eliminare le tabelle, se non si dispone di alcun dato su di loro o utilizzare django-south
che è possibile utilizzare per la migrazione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow