admin-form必要性を定義し、オブジェクトadmin-fieldsetsに依存するにはどうすればよいですか? request例えば:
私はいくつかのモデルを持っています:
# models.py
class Shop(models.Model):
name = models.CharField(...)
description = models.TextField(...)
params = models.SomeField(...)
そして、私は( , , )user.profileとしてフィールドを持っています。たとえば、管理インターフェイスの異なるフィールドセットを取得するために依存したいです:roleadministratorownerselleruser.profile.role
# admin.py
class ShopAdmin(admin.ModelAdmin):
def custom_get_fieldset_and_form_method(self, request, *args, **kwargs):
if request.user.profile.role == 'administator':
self.fieldsets = self.get_default_fieldset_method(self, *args, **kwargs)
elif request.user.profile.role == 'owner':
self.fieldsets = [
(
'Owner Panel', {'fields': ('name', 'description')},
),
(
'Hidden fields', {'classes':('collapse',),'fields': (`params`,)},
)]
else:
# in other, i want to hide `params` field from form