2014-01-15 80 views
0

我有點卡...Django Admin - 複製和篩選表格中的多對多字段

這就是情況。我得到了比賽模型,球員模型和團隊模型。

比賽有很多與玩家(玩家particiaptes在比賽中) 比賽有一個外場主隊一對多的關係 比賽有一個外場客隊 團隊與玩家

一個一對多的關係是什麼我想要做的是在編輯比賽時,能夠看到2個很多場地但被球隊過濾。例如,第一個manytomany領域將只顯示來自主隊的球員和第二manytomany領域將只顯示球員形成訪客團隊...

我不知道從哪裏開始....真的卡住.. 。

非常感謝, 阿糖胞苷

+0

可以粘貼示例代碼? –

+0

嗨,除了我的模型,我基本上只有一個fieldset現在顯示我的表單... –

回答

0

如果您希望基於另一個下拉菜單在同一頁面中過濾下拉菜單而不刷新,那麼您將需要某種AJAX功能。 Django管理員不會支持這個開箱即用的功能。

但有幾個第三方應用程序使用JQuery或其他Javascript庫來實現所需的功能。對於例如爲:

+0

嗨,好吧完美!但我需要重複的領域,它不讓我... –

+0

嗨,我試過Django智能選擇,但它只適用於,如果它的外鍵...我已經做了同樣的事情在PHP中...我可以只是複製該代碼,但首先我不知道如何編輯表單,但僅限於此特定模型(並且僅在下面添加模塊)。以及我如何檢索我插入的字段的值... –

+0

看看[django-ajax-selecting](https://github.com/crucialfelix/django-ajax-selects)。 – arocks

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

球員和比賽我會告訴你,你怎麼能這樣做的關係,foreignkeys和manytomanys,您可以添加玩家t的變量o商店所有玩過的比賽...你必須在比賽中創建一些屬性來存儲目標,故障,卡.....

我沒有嘗試這個代碼,但我認爲這可以讓你在良好的方向

+0

嗨,感謝您的回覆,我的模型已經完成。我只需要顯示球隊場上的兩個不同的下拉菜單,由球隊過濾......如果不清楚,很抱歉。 –