对象没有属性_set',Django
Object has no attribute _set', Django
我有这些型号:
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' object has no attribute 'post_set'
此方法应 return 个具有此类别的帖子。
我能做什么?
由于您指定了 related_name
,Django 不会自动为您创建相关名称 post_set
。要么使用:
def get_number_of_categorys_items(self):
return self.blog_category.count()
或者,不指定 related_name
:
category = models.ForeignKey(BlogCategory)
我有这些型号:
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' object has no attribute 'post_set'
此方法应 return 个具有此类别的帖子。
我能做什么?
由于您指定了 related_name
,Django 不会自动为您创建相关名称 post_set
。要么使用:
def get_number_of_categorys_items(self):
return self.blog_category.count()
或者,不指定 related_name
:
category = models.ForeignKey(BlogCategory)