当前位置:  开发笔记 > 编程语言 > 正文

对象没有属性_set',Django

如何解决《对象没有属性_set',Django》经验,为你挑选了1个好方法。

我有这些模型:

class BlogCategory(models.Model):
    name = models.CharField(max_length=20)

    def __str__(self):
        return self.name

    def get_number_of_categorys_items(self):
        return self.post_set.count()


class Post(models.Model):
    title = models.CharField(max_length=130)
    content = models.TextField()
    category = models.ForeignKey(BlogCategory, related_name='blog_category')

    def __str__(self):
        return self.title

当我尝试调用方法时,get_number_of_categorys_items它会导致错误:

AttributeError:'BlogCategory'对象没有属性'post_set'

此方法应返回此类别的帖子数.

我能做什么?



1> alecxe..:

由于您已经指定了related_name,因此Django不会自动post_set为您创建相关名称.使用:

def get_number_of_categorys_items(self):
    return self.blog_category.count()

或者,不要指定related_name:

category = models.ForeignKey(BlogCategory)

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有