与 admin.TabularInline 有外部关系的管理面板的 Django Inline
Posted
技术标签:
【中文标题】与 admin.TabularInline 有外部关系的管理面板的 Django Inline【英文标题】:Django Inline for admin panel in foreign relationship with admin.TabularInline 【发布时间】:2021-06-26 05:08:13 【问题描述】:models.py
class Parent (models.Model):
id = ......
name = ...
address = ...
class Child (models.Model):
id= ...
parent = models.ForeignField(Parent)
在此架构中,是否可以将 Parent 表单带入 Child 架构中以供 admin.Tabularline 编辑?我知道可以将子架构带入父架构并使其可编辑。但我正在寻找反之亦然。有可能吗?
【问题讨论】:
【参考方案1】:我不确定这是你想要的。但希望对你有所帮助。
class ChildInline(admin.TabularInline):
model = Child
@admin.register(Parent)
class ParentAdmin(admin.ModelAdmin):
list_display = ['name']
inlines = [ChildInline]
【讨论】:
不,我想在子模型下内联父。正好相反。【参考方案2】:我找不到在子模型下内联父级的方法。因此,我制作了自定义表单,在其中定义 fields
= 'all' 然后它对我有用。
在 admin.py 中
class ChildForm(forms.ModelForm):
class Meta:
model = Child
fields = '__all__'
class ChildAdmin(admin.ModelAdmin):
form = ChildForm
admin.site.register(Child, ChildAdmin)
【讨论】:
以上是关于与 admin.TabularInline 有外部关系的管理面板的 Django Inline的主要内容,如果未能解决你的问题,请参考以下文章
我如何在管理员之外复制 admin.TabularInline(在用户端?)
如何在 ModelForm 中使用 admin.TabularInline
我的 admin.TabularInline 类返回异常:对象没有属性 'urls'
Django-Admin TabularInline 在保存前修改内联项属性