在 Django 的 ModelAdmin 中将内联限制为编辑模式
Limit inlines to edit mode in Django's ModelAdmin
如何将 Django 的 ModelAdmin 内联限制为编辑模式。这是我尝试过的方法,但它不起作用:
class PageAdmin(admin.ModelAdmin):
form = PageModelForm
def __init__(self, *args, **kwargs):
super(PageAdmin, self).__init__(*args, **kwargs)
if self.instance.pk:
self.inlines = (FileInLine, )
换句话说,我想访问 ModelAdmin 中的实例以确定是否设置了 pk,并且只有在这种情况下才显示内联。
试试这个
class PageAdmin(admin.ModelAdmin):
form = PageModelForm
inlines = [FileInLine]
def get_formsets_with_inlines(self, request, obj=None):
for inline in self.get_inline_instances(request, obj):
if isinstance(inline, FileInLine) and obj is None:
continue
yield inline.get_formset(request, obj), inline
如何将 Django 的 ModelAdmin 内联限制为编辑模式。这是我尝试过的方法,但它不起作用:
class PageAdmin(admin.ModelAdmin):
form = PageModelForm
def __init__(self, *args, **kwargs):
super(PageAdmin, self).__init__(*args, **kwargs)
if self.instance.pk:
self.inlines = (FileInLine, )
换句话说,我想访问 ModelAdmin 中的实例以确定是否设置了 pk,并且只有在这种情况下才显示内联。
试试这个
class PageAdmin(admin.ModelAdmin):
form = PageModelForm
inlines = [FileInLine]
def get_formsets_with_inlines(self, request, obj=None):
for inline in self.get_inline_instances(request, obj):
if isinstance(inline, FileInLine) and obj is None:
continue
yield inline.get_formset(request, obj), inline