2010-02-16 16 views
2

J'ai 2 modèles. Je cours manage.py syncdb mais il crée seulement des champs d'identification pour 2 modèles. Comment faire pour générer les champs restants? S'il vous plaît veuillez conseiller. Votre aide est tres apprecie!Pourquoi Django ne crée pas de table complète à partir d'un modèle?

Voici mon 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) 

Répondre

1

C'était trop facile. Il y avait beaucoup de virgules redondantes après chaque déclaration de champ. J'ai enlevé ceux-ci et tout a bien fonctionné.

Nous vous remercions de vos réponses.

1

Vous pouvez déposer les tables si vous ne disposez pas de données sur eux ou utilisez django-south que vous pouvez utiliser pour la migration.