Я хочу, чтобы встроенные строки динамически зависели от значения модели. Когда я переопределяю get_inlines, например:
# ModelAdmin
def get_inlines(self, request, obj):
if obj.is_show:
return [SectionInline]
else:
return []
У меня есть исключения, когда я меняю объект модели:
ValidationError: 'ManagementForm data is missing or has been tampered with'
Кажется, это не работает.
Может ли кто-нибудь помочь мне понять правильный путь?
Спасибо!
Правильный способ переопределить change_view, а не get_inline:
def change_view(self, request, object_id, form_url='', extra_context=None):
self.inlines = []
obj = self.model.objects.filter(pk=object_id).first()
if obj and obj.is_show:
self.inlines = [SectionInline]
return super().change_view(request,object_id,form_url=form_url,extra_context=extra_context)
Ссылка на этот пост