如果我尝试创建一个自引用的m2m字段,我会收到错误。我在这里错过了什么吗?
class UserProfile(models.Model):
following = models.ManyToManyField('self', related_name='followers')
序列化器中的其他地方:
def get_followers(user):
return user.profile.followers
AttributeError: 'UserProfile' object has no attribute 'followers'
我可以通过其他方式实施粉丝吗?也许我应该制作另一个模型来做这个或使用库?
答案 0 :(得分:0)
默认情况下,Django将所有self
m2m关系视为对称,例如,如果我是你的朋友,你也是我的朋友。当关系是对称的时,Django不会为你的模型创建反向关系属性。
如果要定义非对称关系,请在字段上设置symmetrical=False
属性,例如:
following = models.ManyToManyField('self', related_name='followers', symmetrical=False)
中的更多内容