【问题标题】:Django Inline for admin panel in foreign relationship with admin.TabularInline与 admin.TabularInline 有外部关系的管理面板的 Django Inline
【发布时间】: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 编辑?我知道可以将子架构带入父架构并使其可编辑。但我正在寻找反之亦然。有可能吗?

【问题讨论】:

    标签: python django django-rest-framework django-templates django-admin


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多