Python Django-查询多级外键
我试图理解在Django中查询多级外键表的概念,我真的希望有人能帮助我 因此,我试图在Django中创建一个列表视图,其中显示球员、他们的得分和一些相关信息,如他们的专业水平。数据库结构如下所示:Python Django-查询多级外键,python,django,django-views,foreign-keys,Python,Django,Django Views,Foreign Keys,我试图理解在Django中查询多级外键表的概念,我真的希望有人能帮助我 因此,我试图在Django中创建一个列表视图,其中显示球员、他们的得分和一些相关信息,如他们的专业水平。数据库结构如下所示: Players Table ------------- id name <field 1> <field 2> <field N> Level Table ----------- id level_text Player Name Player Score
Players Table
-------------
id
name
<field 1>
<field 2>
<field N>
Level Table
-----------
id
level_text
Player Name Player Score Player Level
----------- ------------- ------------
Blue_Marvel 10000 Maestro
Man_At_Arms 51 Noob
P_K_In_Debt 1230000 God
下面是一个级别表:
Players Table
-------------
id
name
<field 1>
<field 2>
<field N>
Level Table
-----------
id
level_text
Player Name Player Score Player Level
----------- ------------- ------------
Blue_Marvel 10000 Maestro
Man_At_Arms 51 Noob
P_K_In_Debt 1230000 God
我想要的是创建如下列表:
Players Table
-------------
id
name
<field 1>
<field 2>
<field N>
Level Table
-----------
id
level_text
Player Name Player Score Player Level
----------- ------------- ------------
Blue_Marvel 10000 Maestro
Man_At_Arms 51 Noob
P_K_In_Debt 1230000 God
正如您所猜测的,这三列中的每一列的数据都需要来自三个不同的表
我对Django非常陌生,只能执行一些基本的查询。我知道我可以做Player.object.all,我得到了所有的玩家,有一个定义的玩家模型。同样地,我可以做Level.object.all,并且我可以获得所有的专业技能级别
然而,我不知道如何继续构建一个列表,如上面的球员姓名、分数和等级文本
感谢您的帮助。假设有一个等级和分数模型,有没有一个简单的方法让我创建上面的列表?如果这些模型不可用,Django query是否有任何巧妙的方法来实现这一点
我真的很感激任何指点 对我来说,这看起来像是需要一个在PlayerScore表上实际映射的列表视图:表中的每一行都有一行在输出中,反之亦然 唯一让这个案例更特殊的想法是,我们还想获取玩家的名字。通常,您可以使用.annotate.来完成此操作。。在要选择的值上。因此,我们可以在这里定义: 当然,我们还需要将URL链接到此视图:
# urls.py
from django.urls import path
from app.views import PlayerScoreListView
urlpatterns = [
path('playerscore/', PlayerScoreListView.as_view(), name='playerscorelist'),
]
当然,以上是一个原始的实现。为了显示所有相关内容,并使页面看起来美观,还有一些工作要做。但是每一行都映射到一个玩家的核心行,对吗?如果你发布实际的模型,你的问题会更清楚。@WillemVanOnsem是的,每一行映射到一个玩家的分数。分数是为一个特定的游戏事件显示的。@DanielRoseman-不幸的是,我甚至不知道模型在哪里,这是一个非常传统的django应用程序,由许多开发人员长期开发。。。我遇到过许多与这些表格相关的模型。假设模型可用,我试图理解如何查询这些。如果不知道模型,你就无法编写查询。我对你的帮助感激不尽!我会试试这个,让你知道它是怎么回事,再次感谢!