1
我有一個OneToOneField(線程)模型(預訂),隨後有一個ForeignKey關係(消息)。我想在預訂管理員中顯示一條消息列表,但在兩者之間的線程模型中,似乎很難/不可能?如何生成跨越模型的TabularInline
Class Booking(Model):
...
thread = models.OneToOneField('user_messages.Thread', verbose_name='thread')
class Thread(Model):
...
class Message(Model):
thread = models.ForeignKey(Thread, related_name="messages")
有沒有一種方法,我可以建立我的BookingAdmin與可顯示信息(跨線程關係跨越)內嵌?就像:
class MessageInline(TabularInline):
model = Message
fk_name = '???'
class BookingAdmin(ModelAdmin):
inlines = [MessageInline, ]
我很高興重寫Inline的工作方式,如果這是最好的方式,但我不知道該在哪裏解決。它看起來像覆蓋* get_formset *可能會伎倆?
這也許可以幫助:http://stackoverflow.com/questions/3681258/nested-inlines-in-該django管理 或此:http://stackoverflow.com/questions/702637/django-admin-inline-inlines-or-three-model-editing-at-once 我知道這些鏈接有外鍵而不是像你的那樣oneotoonefield,但答案應該是相同的,因爲如果我沒有錯,'OneToOneField'和'ForeignKey'是一樣的,但有一些限制使得每個「鏈接」(關係)是唯一的 – marianobianchi 2012-07-07 03:49:27
@ marianobianchi好的建議,我認爲嵌套內聯試圖解決太多的問題,但方法是正確的。我已經想出了一些(下面的答案),這就足夠了。 – Rog 2012-07-07 04:11:15