Django说“id可能不是NULL”,但为什么呢?

时间:2010-03-29 14:43:56

标签: python django django-models

我今天疯了。我只是试图插入一个新记录,它扔回“post_blogpost.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_keyclear_cache__unicode__readsreadprocessed_content

我正在通过管理员添加......而且我的头发已经用完了。

2 个答案:

答案 0 :(得分:6)

我唯一能想到的是表格模式已经与模型失去了同步,因为有人从表格的PK中删除了AUTOINCREMENT属性。

答案 1 :(得分:1)

我在管理员中也经历过奇怪的编辑结果。通常他们与外键有关。当编辑页面在一个页面上有一堆空模型实例,以便您可以通过填写它们轻松地创建新的模型实例,有时我设法做错了,以便尝试保存空实例。也许这适用于你。

您可以验证这在shell中自行添加。

$ python manage.py shell
>>> from models import *
>>> b = BlogPost(title='Hello', slug='hello')
>>> b.save()