Django:保存问题时

时间:2014-07-30 21:01:40

标签: python django

我正在使用django 1.6并且有一个博客模型但是在保存内容时我得到的类别ID不能为空但我不明白这个错误。我已经尝试过查看尝试不同内容的代码,但它似乎没有用。

class Category(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=100)
    description = models.TextField(null=True, blank=True)

    class Meta:
        verbose_name_plural = "Categories"

    def __unicode__(self):
        return '%s' % self.title

    @permalink
    def get_absolute_url(self):
        return ('view_category', None, {'slug': self.slug})

class Blog(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(max_length=100, unique=True)
    description = models.TextField(max_length=2000)
    extended = models.TextField(null=True, blank=True)
    category = models.ForeignKey(Category)
    created = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated = models.DateTimeField(auto_now_add=False, auto_now=True)

    class Meta:
        verbose_name = 'Blog post'
        verbose_name_plural = 'Blog posts'
        ordering = ('-updated',)

    def __unicode__(self):
        return '%s' % self.title

    @permalink
    def get_absolute_url(self, ):
        return('view_questions', None, {'slug': self.slug,})


    def save(self):
        super(Blog, self).save()
        if not self.slug:
            self.slug = '%d/%s' % (
                self.pk, slugify(self.title)
            )
        super(Blog, self).save()

1 个答案:

答案 0 :(得分:0)

  

保存内容时我得到的类别ID不能为空,但我不是   理解这个错误。

category = models.ForeignKey(Category)

该行表示博客帖子必须属于某个类别。在您的博客表中,类别外键称为category_id。

您可以确保添加类别; blog.category = Category.objects.get(...)例如,您可以将类别设为可选:

category = models.ForeignKey(Category, blank=True, null=True)