如何用FKs在Django-sqldb中存储dicttype对象的可变长度列表

2024-09-30 02:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我得到了一些格式为。。。在

"fellowPlayers": [
            {
               "championId": 110,
               "teamId": 100,
               "summonerId": 34258805
            },
            {
               "championId": 9,
               "teamId": 200,
               "summonerId": 19923759
            },
           ...
]

…它可以有一个可变的条目,但总是这3个属性,其中2个应该映射到其他表(championId和callomerID),我要如何在Django中定义一个表/模型来实现这一点?在

如果不能直接进行,您建议如何处理这种情况?我最初的想法是根据我期望的最大条目数(大约11个)在一个字段中进行硬编码,但这种方法似乎可以改进很多,尽管11个在硬编码方面并不算太差。在

为了澄清,并给出更多的上下文:我有一个模型,它将跟踪游戏中的历史比赛数据。这包括大量与比赛相关的细节,如赢得的点数、击杀次数等。championId和{}分别指用于比赛的游戏内角色和在比赛中使用该角色的玩家。所有的全局id和其他的表都不可能有关联。championId和{}将分别与跟踪冠军和玩家的表相关。在

我遇到的问题在于这个模型(我们称之为MatchHistory模型,它存储了一场比赛的统计数据),它实际上“包含”了fellowPlayers的列表,因为游戏中可以有一个从1到12的玩家变量。因此,对于任何一场比赛,我都可以得到一堆已知大小的比赛统计数据字段,这些字段可以很好地处理,但我不知道如何组织这些,当考虑到未知的球员,并将他们的信息与这个模型相关联时。在

我在寻找这个问题的解决方案时偶然发现了https://groups.google.com/forum/#!searchin/django-users/storing$20lists$20model/django-users/iOQs7qNfqBI/GuS5IlJ4qpUJ,看起来我要做的事情并不是SQL真正支持的,因为它类似于在SQL中存储一个可变长度的列表。也许有人可以详细说明这种“不相容性”,这样我就可以确定它是否适用于我正在做的事情。

如果需要更多信息,请评论。在


Tags: django模型信息游戏角色编码列表玩家
1条回答
网友
1楼 · 发布于 2024-09-30 02:27:37

这是一个Many-to-one relation。在

class FellowPlayer(models.Model):
    champion = models.ForeignKey('Champion')
    team_id = models.IntegerField(unique=True)
    summoner = models.ForeignKey('Summoner')

    match_history = models.ForeignKey('MatchHistory')

class Summoner(models.Model):
    match_history = models.ForeignKey('MatchHistory')


class Champion(models.Model):
    match_history = models.ForeignKey('MatchHistory')


class MatchHistory(models.Model):
    pass

你会用反话来回答问题。例如:

^{pr2}$

你可以在这个链接中找到更多的例子。在

相关问题 更多 >

    热门问题