1
私は、ユーザーの権限レベルに基づいてカスタマイズ可能なフィールドセットを使ってdjango管理ビューを作成しています。コードの繰り返しを減らすためにフィールドセットを整理する最善の方法は何ですか?Djangoフィールドセットを整理する最良の方法
現在、私はそれがこのように設定している2つの異なるフィールドセットのために:
standard_fieldsets = (
(None, {'fields': ('email', 'password')}),
(_('Permissions'), {
'fields': ('is_staff', 'is_superuser', 'groups', 'permissions')}),
(_('Dates'), {'fields': ('last_login',)}),
)
perm1_fieldsets = (
(None, {'fields': ('email', 'password')}),
(_('Dates'), {'fields': ('last_login',)}),
)
fieldsetのを組織の目標は、ここに見られるように、それらを選択することになります。
def get_fieldsets(self, request, obj=None):
if # user has permission 1:
self.fieldsets = self.perm1_fieldsets
else:
self.fieldsets = self.standard_fieldsets
if not obj:
return self.add_fieldsets
return super().get_fieldsets(request, obj)