2

我有一个用户模型和另一个页面模型。现在我想实现类似 Facebook 的类似. 用户可以喜欢任何页面。稍后我必须检索单个用户的所有喜欢的列表,以及喜欢特定页面的所有用户的列表。

我尝试为 Likes 制作一个单独的模型,并将两个字段设为 User (OneToOne) 和 Page(OnetoOne)。但是我以后如何获取数据呢?

4

1 回答 1

3
user = User.objects.get(username="foo")
user_likes = user.likes_set.all()

page = Page.objects.get(id=4)
page_likes = page.likes_set.all()

您可以在 Like 模型中的字段定义中更改相关经理的默认名称:

user = models.ForeignKey(User, related_name="likes")
page = models.ForeignKey(Page, related_name="likes")

然后你可以这样称呼它们:

user_likes = user.likes.all()
page_likes = page.likes.all()

附带说明一下,有一些 Django 应用程序可以完成这项工作:

于 2012-09-09T10:07:57.667 回答