gpt4 book ai didi

python - django 多对多递归关系

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:38 25 4
gpt4 key购买 nike

我想在django中实现一个基本的社交网络模型,即followers和followees

class CustomUser(User):
followers = models.ManyToManyField('self', related_name='followees',
related_query_name='followee')

以上是我定义的。我认为这就足够了,因为manytomany字段提供了回溯查询。我还需要创建 ManyToMany 归档的关注者吗?

谁能帮助编写函数来获取关注者和关注者的数量,以及关注者列表和关注者列表。我是 django 的新手,所以我对多对多领域感到困惑

最佳答案

@olieidel 是对的,但还有一件非常重要的事情,您在示例中不应错过:通常,M2M 关系是对称的。这意味着,如果您将用户 A 设置为用户 B 的关注者,查询集将返回用户 B 作为用户 A 的关注者。

您可以通过向字段添加 symmetrical=False 选项来避免此类行为:

followers = models.ManyToManyField(
to='self',
related_name='followees',
symmetrical=False
)

关于python - django 多对多递归关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com