2009-12-18 55 views
0

我基本上有兩個表:Page(PK = url)和PageProperty(PK = url + name)。如何設置Django admin.TabularInline與一個計算鍵的表

這裏是我有我的模型建立:

class Page(model.Model): 
    url = model.CharField(primary_key=True, max_length=255, db_column='url') 
    #..... 

class PageProperty(model.Model): 
    # table with compound key (url + name) 
    url = model.ForeignKey('Page', to_field='url', db_column='url', primary_key=True) 
    name = model.CharField(primary_key=True, max_length=20) 
    value = model.TextField() 

我有一個的ModelAdmin設立這樣我就可以從頁面編輯內聯PageProperty(S)。它是一個遺留數據庫,我知道那裏有很多數據。但管理員只顯示其中一個PagePropertys,而不是全部。

回答

0

因爲它覺得想到了一個非整數的主鍵是太多對糧食,我結束了埋頭苦幹和遷移模式,以使用自動生成的整數PK兩種在那之後,一切都很順利ain和Inline完美運作。

0

我想你可能需要將extra選項應用到你的TabularInline。例如:

class PagePropertyInline(admin.TabularInline): 
    model = PageProperty 
    extra = 3 

你也許可以做一些魔法使的額外的項目,動態的(如PageProperty對象爲給定的Page的數量,但我會離開,你

。我建議進一步閱讀InlineModelAdmin optionsFormsets

+0

謝謝,但'額外'屬性是控制有多少空行顯示NEW記錄。 – 2009-12-20 21:27:53

+0

我很確定它也適用於顯示formset,但也有可能吸菸太多的裂縫。 – jathanism 2009-12-20 22:05:06

相關問題