Есть ли способ загрузить различные формы администратора для редактирования объектов в зависимости от того, какой объект необходимо обновить?Django различные формы для модели администратора
Например, у нас есть MPTTModelAdmin
объектов. И для корневых объектов, которые мы не хотим, чтобы увидеть некоторые поля:
class RootObjectForm(ModelForm):
class Meta:
model = Author
exclude = ('title',)
class ChildObjectForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'birth_date')
Но я не знаю, как получить поле объекта в forms.py или admin.py.
К сожалению, может быть, я чего-то не понимаю, но ниже код: из django.forms импорта ModelForm из mptt_test.models импорта Категория класс CategoryForm (ModelForm): класс Meta: модель = Категория защиту __init __ (самоповреждения, * арг, ** kwargs): супер (CategoryForm, самость) .__ Инициализационные __ (* Args, ** kwargs) печать self.fields [ 'название'] печатает: _ <Джанго .forms.fields.CharField объект в 0x7f3f0047ff90> _ И если я пытаюсь получить доступ к специальным стандартным полям MPTT, таким как _level_ (self.fields ['level']) - I geat a _KeyError_ – user2919162
извините за такой уродливый формат ... 4 пробела не будут работать – user2919162
Я не очень знакомый с MPTT ... у него есть Django-админ форма mixin или класс, на который должен наследоваться ModelAdmin? Это может объяснить недостающее поле. – Brandon