[英]How to set up Django admin.TabularInline on a table with a compount key
[英]How to set up Django TabularInline so I can edit intermediate table object
我正在使用TabularInline編輯器來允許編輯模型與另一個模型的關系。 通過地圖表可以進行多對多。 有沒有一種方法可以讓django在tabularInline的行中放入指向地圖表本身的圖標鏈接?
例如,如果Machine和Part由Machine2Part映射在一起,並且我在Machine中使用tabularInline來提供對其Part的編輯,我將獲得下拉菜單,該菜單允許我選擇很棒的Parts,但是我還想要一個鏈接我進入了位於該關系后面的Machine2Part對象/行的管理表單,因為我的Machine2Part管理表單具有我希望能夠從此位置訪問的字段編輯。
class Part (models.Model):
name = models.CharField(max_length=45)
class Meta:
db_table = "part"
def __str__ (self):
return self.name
class Machine (models.Model):
name = models.CharField(max_length=45)
parts = models.ManyToManyField(Part, through='Machine2Part')
class Meta:
db_table = "machine"
def __str__ (self):
return self.name
class Machine2Part (models.Model):
machine = models.ForeignKey(Machine,db_column='machineId')
part = models.ForeignKey(Part,db_column='partId')
class Meta:
db_table = "machine2part"
class Machine2PartInline (admin.TabularInline):
# fields = ['name']
model = Machine2Part
class MachineAdmin (admin.ModelAdmin):
inlines = [Machine2PartInline]
admin.site.register(Machine, MachineAdmin)
admin.site.register(Part)
admin.site.register(Machine2Part)
show_change_link = True將在TabularInline中的每一行旁邊添加一個“更改”鏈接
class Machine2PartInline (admin.TabularInline):
# fields = ['name']
model = Machine2Part
show_change_link = True
如果模型Machine2Part
包含其他字段(FK除外),則可以使用此字段顯示內聯字段,而無需其他鏈接。
class Machine2PartInline (admin.TabularInline):
model = Machine.parts.through
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.