Django 自引用 m2m 字段导致缺少属性错误
Django self referential m2m field causes causes missing attribtue error
如果我尝试制作一个自我引用的 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'
还有其他方法可以实现关注者吗?也许我应该制作另一个模型来执行此操作或使用库?
默认情况下,Django 将所有 self
m2m 关系视为对称的,例如,如果我是你的朋友,你也是我的朋友。当关系对称时,Django 不会为您的模型创建反向关系属性。
如果要定义非对称关系,请在字段上设置 symmetrical=False
属性,例如:
following = models.ManyToManyField('self', related_name='followers', symmetrical=False)
中有更多相关信息
如果我尝试制作一个自我引用的 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'
还有其他方法可以实现关注者吗?也许我应该制作另一个模型来执行此操作或使用库?
默认情况下,Django 将所有 self
m2m 关系视为对称的,例如,如果我是你的朋友,你也是我的朋友。当关系对称时,Django 不会为您的模型创建反向关系属性。
如果要定义非对称关系,请在字段上设置 symmetrical=False
属性,例如:
following = models.ManyToManyField('self', related_name='followers', symmetrical=False)
中有更多相关信息