Я пытаюсь использовать get_fieldsets
для организации страниц модели администратора. Использование fieldsets
довольно приятно, но я застрял в том, как исключить некоторые поля. В настоящее время я использовал условие if для проверки типа пользователя, а затем возвращаю различные fieldsets
в зависимости от типа пользователя. Из-за этого у меня повторяются одни и те же коды. Есть ли способ исключить несколько полей в get_fieldsets
?
admin.py
class StoreAdmin(admin.ModelAdmin):
...
def get_fieldsets(self, request, obj=None):
fieldsets = copy.deepcopy(super(StoreAdmin, self).get_fieldsets(request, obj))
if request.user.is_superuser:
return (
[
('Basic Information', {
'fields': (
('status', 'review_score', 'typ'),
('businessName', 'relatedName'),
('mKey'),
)
}),
('Additional Options', {
'fields': (
('affiliate_switch', 'is_affiliated', 'affiliate',),
)
}),
]
)
else:
return (
[
('Basic Information', {
'fields': (
('status', 'review_score', 'typ'),
('businessName', 'relatedName'),
('mKey'),
)
}),
]
)