游戏,并且假设有不同的(限制性)娱乐设置,我想通过django admin进行调整。
models.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
)。
我在保存时使用信号来动态创建适合max_cards数量的Card_Slots。
---这就是我拥有的,现在我想要的---
设置max_cards
之后'换入'内联,代表玩家及其卡片的内联(因此Card_Slot中的玩家名称和卡片应该是可编辑的)。
<小时/> 对此我有几个令人头疼的问题。如果可能,我不想覆盖管理模板。如果我应该,我会欣赏一个更进一步指向文档的提示,意味着指向良好实践的方向。
我也不确定,我是否应该使用一个Model for Player和Card_Slot。 (这会使编辑名称变得更容易,但Card_Slots的动态大小更糟)。我想。
我不清楚我该怎么做。请帮助。
(一种方法似乎是使用自定义Fieldsets,到目前为止我还没有开始工作。想法是用与Card_Slots的查询集相关的ModelMultipleChoiceField替换整数字段的内容和类型。但是我不明白如何在没有模型等的情况下在内联上进行自定义字段。)