1
與我的previous question類似,我試圖在ModelAdmin中使用相關模型。 (這是因爲我希望它可以在兩個管理員視圖中使用。)但是,這次我使用的是新的ParentalManyToManyField
或僅僅是正常的ManyToManyField
,這看起來很糟糕。在ModelAdmin中使用reverse(Parental)ManyToManyField
我寫了下面的結構:
class B(Model): # or Orderable
...
edit_handler = TabbedInterface([
ObjectList([
FieldPanel('aes', widget=CheckboxSelectMultiple),
], heading=_('Aes'),
),
])
class A(ClusterableModel):
...
bees = ParentalManyToManyField(
B,
related_name='aes',
blank=True,
)
...
edit_handler = TabbedInterface([
ObjectList([
FieldPanel('bees', widget=CheckboxSelectMultiple),
], heading=_('Bees'),
),
])
當試圖訪問的網頁,我收到一個Field Error
:
Unknown field(s) (aes) specified for B
是什麼,我試圖做不可能的但還是沒我忘了一步?
恐怕它不會解決我的問題。它可能不太清楚,但我想在兩個管理視圖中訪問關係。那麼有什麼方法可以實現這一點而不必切換關係? – Dekker
ParentalManyToManyField並不打算從兩個方向進行編輯 - 它是爲頁面模型而設計的,這在邏輯上不可行(關係必須屬於一個模型或另一個模型,用於版本控制和審覈工作流程)。你在做什麼可能更接近一個簡單的ManyToManyField - 如果你嘗試這樣做會發生什麼? (我不能立即看到它不起作用的原因,但我懷疑我們從未測試過這個設置......) – gasman
這也是我最初的想法,使用'ManyToManyField',但是我得到了相同的結果字段錯誤與ParentalManyToManyField一樣:FieldError:爲B指定的未知字段(aes)。 – Dekker