今天我要瘋了。我只是試圖插入一條新記錄,並且拋出了「post_blogpost.id可能不是NULL」錯誤。這裏是我的模型:Django說「id可能不是NULL」,但爲什麼?
class BlogPost(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
who = models.ForeignKey(User, default=1)
when = models.DateTimeField()
intro = models.TextField(blank=True, null=True)
content = models.TextField(blank=True, null=True)
counter = models.PositiveIntegerField(default=0)
published = models.BooleanField(default=False)
css = models.TextField(blank=True, null=True)
class Meta:
ordering = ('-when', 'id')
模型下面還有很多功能,但我不會在這裏全部包含它們。他們的名字是:content_cache_key
,clear_cache
,__unicode__
,reads
,read
,processed_content
。
我正在通過管理員添加......而且我的頭髮不夠用了。
我必須說,鑑於這是一個在我的代碼之外發生的錯誤,這完全有可能,但我該如何檢查是否是這種情況,以及如何解決它? – Oli 2010-03-29 15:19:58
您可以使用數據庫工具檢查表的屬性,然後執行「ALTER TABLE」查詢重新添加約束。詳細信息請參閱相關的DB文檔。 – 2010-03-29 15:21:57
我使用了一個有點危險的manage.py方法:'dumpdata post> post.json','reset post','loaddata post.json' ..仍然檢查以確保它沒有燒燬任何東西。 – Oli 2010-03-29 15:34:31