2012-05-10 122 views
1

在django模型中,我有一個名爲Invitation的類。Django模型syncdb創建現有表格

我執行manage.py syncdbInvitation已創建。 這是我的第一張桌子。

但是,當我創建了一個名爲Image另一個類,並執行manage.py syncdb

它返回一個錯誤。

Table UserInvitation already exists

請幫我使用syncdb命令創建表Image

模型

class UserInvitation(models.Model): 

    InvitationID = models.AutoField(primary_key=True) 
    InvitationCode = models.CharField(max_length=255) 
    Email = models.CharField(max_length=150) 
    ExpireDate = models.DateTimeField() 
    Deleted = models.BooleanField(default=False) 
    CreatedDate = models.DateTimeField(auto_now=True) 

class Meta: 
    db_table = u'UserInvitation' 

class UserImage(models.Model): 
    ImageID = models.AutoField(primary_key=True) 
    UserID = models.IntegerField(unique=True) 
    FileName = models.CharField(max_length=255) 

class Meta: 
    db_table = u'UserImage' 
+1

燦你展示你的模型? – DrTyrsa

+0

可能你在模型中有錯誤。像DrTyrsa寫道,請在這裏粘貼模型 – szaman

+0

模型粘貼 – TomJoy

回答

0

您應該使用,以反映在您的數據庫更改。

syncdb運行創建數據庫中所有表的命令,而不僅僅是您添加的命令。

與南卡羅,您應恢復模型回時,只用了UserInvitation類,運行以下命令:

python manage.py convert_to_south <name of app> 

添加回UserImage類和運行命令:

python manage.py schemamigration --auto <name of app> 
python manage.py migrate <name of app> 

這將在您的數據庫中添加userimage表。

此外,在元類db_table場應該是小寫,作爲表名,創建時,是小寫(檢查你的數據庫,以確保)

見南文檔:http://south.readthedocs.org/en/latest/