gpt4 book ai didi

python - django 将关系添加到用户模型

转载 作者:行者123 更新时间:2023-11-28 20:50:08 27 4
gpt4 key购买 nike

我有一个使用内置用户模型的 Django 项目。

我需要添加与用户的关系。目前,用户喜欢的文章为“喜欢”关系,其他用户关注的文章为“关注”关系。

定义这些关系的最佳方式是什么? django 文档建议创建一个与用户具有一对一关系的 Profile 模型,以向用户添加字段。但在我的例子中,没有额外的字段将被添加到用户配置文件中,这太过分了。

有什么建议吗?

最佳答案

对于这些特殊的多对多关系,您必须在模型中定义它们:

class UserFollowing(models.Model):
user = models.ForeignKey(User, related_name='following')
following = models.ForeignKey(User, related_name='followed_by')

那么如果你有一个用户,你可以做这样的事情:

user = User.objects.get(...)
user.following.all() # all users this user is following
user.followed_by.all() # all users who follow this user

对于文章,您已经设置了类似的架构:

class ArticleLike(models.Model):
article = models.ForeignKey(Article, related_name='likes')
like = models.ForeignKey(User, related_name='articles_like')

Article.objects.get(...).likes.all()

User.objects.get(...).articles_like.all()

关于python - django 将关系添加到用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033979/

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