将内联用于OneToOne关系是完全可能的。但是,定义关系的实际字段必须位于内联模型上,而不是父模型上-与外键相同。切换它,它将起作用。
from original.satchmo.admin import ProductAdmin
class MyProductInline(admin.StackedInline):
model = MyProduct
class ExtendedProductAdmin(ProductAdmin):
inlines = ProductAdmin.inlines + (MyProductInline,)
admin.site.unregister(Product)
admin.site.register(Product, ExtendedProductAdmin)
此方法仍然有效,但是新的 版本中的某些类型已更改,因为inlines
inExtendedProductAdmin
现在应该作为列表而不是元组添加,如下所示:
class ExtendedProductAdmin(ProductAdmin):
inlines = ProductAdmin.inlines + [MyProductInline]
否则您将得到此错误:
inlines = ProductAdmin.inlines + (MyProductInline,)
TypeError: can only concatenate list (not "tuple") to list