Django Admin - 复制和过滤表单中的多个到多个字段

时间:2014-01-15 03:09:40

标签: python django forms django-admin

我有点被困......

就是这种情况。我有一个匹配模型,一个玩家模型和一个团队模型。

匹配与玩家的多对多关系(玩家参与比赛) 比赛有一个外国场主队 Match拥有一支外国观众队 团队与玩家有一对多的关系

我想要做的是在编辑匹配时,能够看到2个多个字段但是按团队过滤。例如,第一个manytomany字段只显示来自主机团队的玩家,第二个manytomany字段只显示来自访客团队的玩家......

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

非常感谢, ARA

2 个答案:

答案 0 :(得分:0)

我会告诉你从哪里开始:

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')

玩家和比赛我告诉你如何做关系,外国钥匙和许多人,你可以向玩家添加一个变量来存储所有玩过的比赛...你必须创建一些匹配的属性来存储目标,故障,卡.....

我没有试过这段代码,但我认为这可以让你朝着良好的方向发展

答案 1 :(得分:0)

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

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