Django Admin在表单中复制和过滤多对多字段

2024-07-01 08:31:01 发布

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

我有点卡住了。。。在

情况就是这样。我有一个比赛模型,一个球员模型和一个团队模型。在

比赛与运动员有多对多的关系(运动员参加比赛) 比赛有一支外野主队 Match有一支外国客队 球队和球员有一对多的关系

我想做的是,当编辑比赛时,能够看到2个许多的领域,但过滤小组。例如,第一个多人场将只显示东道主队的球员,第二个多人场将只显示来自客队的球员。。。在

我不知道从哪里开始。。。。真的卡住了。。。在

非常感谢, 阿拉


Tags: 模型编辑关系match情况小组团队领域
2条回答

如果您想根据同一页面中的另一个下拉列表过滤一个下拉列表而不刷新,那么您将需要某种AJAX功能。Django admin将不支持这一开箱即用。在

但是有几个第三方应用程序使用JQuery或其他Javascript库来实现您想要的功能。例如:

我会告诉你从哪里开始:

class Team (models.Model):
    players = models.ManyToManyField(Player,...)
    attribute1
    atribtue2
    atribute3


class Player (models.Model):
    name = models.CharField(max_length=100, default='none', verbose_name=_(u'Player Name'))
    team = models.ForeignKey(Team, related_name = "")


class Match (models.Model)
    date = models.DateTimeField(auto_now_add=True, verbose_name=_(u'Date'))
    attribute1 = models.CharField(max_length=100)
    attribute2 = models.IntegerField(values)
    homeTeam = models.ForeignKey(Team, related_name="Home Team")
    visitorTeam = models.ForeignKey(Team,related_name='Visitor Team')
    players = models.ManyToManyField(Player, blank=True, null=True, verbose_name=_(u'sitio web'), related_name=u'product_site')

我向你展示了如何处理关系,外键和manytomanys,你可以给Player添加一个变量来存储所有的比赛。。。你必须在比赛中创建一些属性来存储目标、错误、卡片。。。。。在

我没试过这个代码,但我认为这会给你一个好的方向

相关问题 更多 >

    热门问题