交换内联线(和动态模型创建)

2024-04-20 12:39:22 发布

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

一个游戏,让我们说有不同的(限制性)娱乐设置,我想通过django管理调整。你知道吗

你知道吗型号.py地址:

class Board(models.Model):
     name = CharField()

class Player(models.Model):
     bord = Foreignkey('Board')
     max_cards = IntegerField()

class Card_Slot(models.Model):
     owner = Foreignkey('Player')
     card = CharField()

一个棋盘应该有随机数目的玩家与之关联。一个内联的TabularInline应该用来添加或删除玩家,而IntegerField代表最大的牌数(max_cards)。 我使用save上的signals动态创建与max\u卡的数量相适应的Card\u插槽。 ---这就是我所拥有的,现在我想要的--- 在设置max_cards之后“交换”内联,用于表示玩家及其卡牌的内联(因此玩家名称和卡牌槽中的卡牌应该是可编辑的)。你知道吗


在那件事上我有点头疼。如果可能,我不想覆盖管理模板。如果我应该的话,我会很感激一个更进一步的提示,然后指向文档,意思是指向一个良好实践的方向。

我也不确定,如果我应该使用一个型号的球员和卡槽。(这将使编辑名称的事情更容易,但卡槽的动态大小更糟)。。我想。你知道吗

我不知道该怎么做。请帮忙。你知道吗

(一种方法似乎是使用自定义字段集,到目前为止我还没有使用它。其思想是将Integer字段的内容和类型替换为与Card\u插槽的queryset相关的ModelMultipleChoiceField。但我不明白如何在没有模型的情况下在内联上创建自定义字段等。)


Tags: board名称modelmodels玩家cardmaxclass