Python 在Django模型中使用uuu init_uuuu时出现属性错误
我正在努力做到以下几点:Python 在Django模型中使用uuu init_uuuu时出现属性错误,python,django,Python,Django,我正在努力做到以下几点: class ClubMembership(models.Model): user = models.ForeignKey('auth.User') club = models.ForeignKey('auth.Group') def __init__(self): self.club.user_set.add(self.user.user_id) 但是当我这样做的时候,我得到了错误 “ClubMembership”对象没有属性
class ClubMembership(models.Model):
user = models.ForeignKey('auth.User')
club = models.ForeignKey('auth.Group')
def __init__(self):
self.club.user_set.add(self.user.user_id)
但是当我这样做的时候,我得到了错误
“ClubMembership”对象没有属性“club\u id”
每当我尝试在admin中创建ClubMembership对象时。我可能遗漏了一些非常基本的东西,但是什么呢?不要这样做。首先不要像这样覆盖
\uuuu init\uuuuu
。您要做的可能是在save()
方法中。您应该更清楚地描述您试图解决的问题,以便提供更好的解决方案。您必须首先在构造函数中调用super()。然而,正如@S.Lott所说的,不建议在施工中采取类似的措施,因为这无论如何都不起作用<代码>\uuuu init\uuuuu在类首次保存到数据库之前被调用。所以,club
还没有设置,您的代码就爆炸了。唯一安全的方法是在save
或clean
中,您可以检查club
是否有值。非常感谢,将其移动到save()。我想,学习正确的Django做事方式需要时间。