2011-01-05 21 views
0

Django管理パネルで特定のモデルの子供のフォームを表示するにはどうすればよいですか?Django 1.1管理パネルのインラインフォーム

class Matchup(models.Model): 
    name  = models.CharField(max_length=30) 
    winner  = models.ForeignKey('players.player',blank=True)   

class Slot(models.Model): 
    player = models.ForeignKey('players.player',blank=True) 
    matchup = models.ForeignKey(Matchup) 

それぞれのマッチアップには2つのスロットがあります - マッチに合わせて両方のフォームを表示するにはどうすればいいですか?

基本的に、私はこのような何かがしたい:私はスロットモデルが無用であると表示されることがあり、ちょうど選手に2つの参照に置き換える必要があり実現が、私が望む様々な理由がある

Matchup Name:  [   ] 
Matchup Winner: [   ] 
-- 
== Slot 1 == 
|| Slot Player: [   ] 
== Slot 2 == 
|| Slot Player: [   ] 

をこのようにしてください。

EDIT:削除混乱団体

+0

あなたもMatchup.winnerとwin_slot.winnerを持っている理由私は理解していません。そして、これはすでに管理者にこのように表示されていませんか? – milkypostman

+0

ああ、ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええんずんずうとうとうとっこうとっこうは、win_slotとlose_slotで接続されたスロットは同じではない –

答えて

1
from models import * 

class SlotInline(admin.StackedInline): 
    model = Slot 

class MatchupAdmin(admin.ModelAdmin): 
    model = Matchup 
    inlines = [SlotInline] 

admin.site.register(Matchup, MatchupAdmin) 
+0

パーフェクト!ありがとう –

+0

質問に続きます:どのような方法でも修正されていなくても(例えば、すべてのフィールドが空白のままであっても)、マッチアップの作成時にスロットを保存します。 –

+0

これは、Slotsモデルが空白のエントリを許可する限り、これを達成すると思います。これは起こっていないのですか? – milkypostman

関連する問題