2015-08-16 69 views
0

因此,我有一個用戶可以發表評論的效果,即時通訊連接我的模型,我不斷收到不可空的錯誤,無論我試過什麼。大家都說它需要null = True。它不工作哈哈。我在這裏沒有看到什麼?django不能爲null模型字段包含null的空錯True-

這是官方的錯誤:

django.db.utils.IntegrityError: NOT NULL constraint failed: effect_modules_comment__new.author_id 

而且我的模型:

class Effect_module(models.Model): 
    created_at = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(max_length=255) 
    description = models.TextField() 
    html = models.TextField(default='') 
    css = models.TextField(default='') 
    js = models.TextField(default='') 
    up_votes = models.IntegerField() 
    down_votes = models.IntegerField() 
    effect_author = models.ManyToManyField('UserProfile') 

class UserProfile(models.Model): 
    user = models.OneToOneField(User) 
    effects = models.ManyToManyField(Effect_module) 

class Comment(models.Model): 
    comment_author = models.ForeignKey(User, null=True) 
    comment = models.TextField(default='No Comment Here') 
    effect_object = models.ForeignKey(Effect_module) 
+0

嘗試包括'空白= TRUE'。 – BenWurth

+0

我添加了空白= True,並在makemigrations期間,它要求我提供默認的我應該添加到那個?它不會允許我輸入null = True或任何東西,所以我只是用那個建議的timezone.now()lol,現在它仍然表示遷移的可空錯誤 – ryan

+0

你在評論模型本身之後添加了外鍵嗎?你已經在db中有評論了嗎? – melwil

回答

3

刪除所有遷移腳本。添加null=True表示它可以在數據庫中爲NULL,blank=True表示它可以在表單中留空。

然後

python manage.py makemigrations 
python manage.py migrate 
相關問題