admin-form
必要性を定義し、オブジェクトadmin-fieldsets
に依存するにはどうすればよいですか? request
例えば:
私はいくつかのモデルを持っています:
# models.py
class Shop(models.Model):
name = models.CharField(...)
description = models.TextField(...)
params = models.SomeField(...)
そして、私は( , , )user.profile
としてフィールドを持っています。たとえば、管理インターフェイスの異なるフィールドセットを取得するために依存したいです:role
administrator
owner
seller
user.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