gpt4 book ai didi

python - 在 Django 中定义模型

转载 作者:行者123 更新时间:2023-11-28 22:49:01 25 4
gpt4 key购买 nike

我是 Django 的新手,我正在尝试创建一个简单的应用程序!

我基本上想创建类似 StackOverflow 的东西,我有很多 User 和很多 Question。我不知道我应该如何定义这两个模型之间的关系。

我的要求:

  • 我希望每个Question 都有一个作者User,以及Question 之后的User 列表.

  • 我希望每个 User 都有一个已发布的 Question 列表和一个已关注的 Question 列表。

我很迷茫,我不知道如何定义我的关系。这是多对多关系吗?如果是这样,我如何在我的 User 模型(已发布/已关注)中有 2 个 Question 列表?

请帮忙!

最佳答案

为此,我建议打破每个单独的关系。您的人际关系似乎是:

  1. 创作
  2. 关注

对于创作,详细信息是:

  • 每个问题由一位用户撰写
  • 每个用户可以编写很多问题

因此,这是两者之间的一对多关系。最好的方法是从问题到用户的外键,因为只能有一个作者。

以下为详细信息:

  • 每个问题可以有多个关注用户
  • 每个用户可以关注多个问题

因此,这是一个多对多关系。 Django 中的 Many-to-Many 字段是一个完美的选择。 Django 将允许您通过另一个模型使用一个字段,但在这种情况下这不是必需的,因为您没有与用户正在关注问题的事实相关的其他信息(例如个人分数/排名)。

有了这两种关系,Django 会为您创建相关项目的列表,因此您不必为此担心。您可能需要为此字段定义一个 related_name,因为有多个用户与一个问题相关联,默认情况下 django 会为名为 user_set 的两个用户创建相关集。

关于python - 在 Django 中定义模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396591/

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