[英]Django ORM Object has no attribute '_set'
我假设Django自动为我创建了_set
,但我是以下错误。
for dep_badge in self.badge.badge_set.all():
AttributeError: 'Badge' object has no attribute 'badge_set'
楷模:
class Badge(RewardBase):
"""
Represents a Badge.
"""
name = models.CharField(max_length=60, help_text="Name of the badge")
description = models.TextField(max_length=150)
reputation_value = models.IntegerField(help_text="Value given in accumulate reputation", default=0)
reputation_prerequisite = models.IntegerField(help_text="Point value needed to obtain", default=0)
difficulty_level = models.IntegerField(choices=STATUS_TYPES, default=STATUS_EASY,
help_text="Badge difficulty")
class Award(RewardBase):
"""
Representation of a badge awarded to a user.
"""
description = models.CharField(max_length=100, choices=STATUS_TYPES, default=STATUS_GENERAL)
value = models.IntegerField(default=0)
read = models.BooleanField(default=False, help_text="Has the user read this?")
created = models.DateTimeField(blank=True, null=True, editable=False)
hidden = models.BooleanField(default=False)
user = models.ForeignKey(settings.AUTH_USER_MODEL)
badge = models.ForeignKey("Badge")
def save(self, *args, **kwargs):
super(Award, self).save(*args, **kwargs)
for dep_badge in self.badge.badge_set.all():
dep_badge.check_prerequisites(self.user, sel
f.badge,self)
徽章没有badge_set.No自己的外键。 也许你的意思是award_set?
看起来你打算做
self.badge.award_set.all()
代替。 badge_set
正在寻找与Badge
模型的反向关系,该模型不存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.