管理パネルでフィールドセットを使用して、関連するフィールドをグループ化/タイトル付けしています。これはスーパーユーザーでうまく機能します。一部のフィールドが除外されているスタッフとしてログインすると、エラーが発生します。
レンダリング中に KeyError をキャッチ: キー 'A' がフォームに見つかりません
以下の簡単な例では、私がスーパー ユーザーの場合、すべてうまく機能します。スタッフユーザーとしてログインすると、コードでフィールドセットが除外され、次のエラーが表示されます。
models.py:
class Cars(models.Model):
A = models.CharField('A', ...)
B = モデル....
C = モデル...
D = モデル...
admin.py:
class CarsAdmin(admin.ModelAdmin):
fieldsets = (_('最初のグループ'},{'fields'sad('A','B'),('C','D'),)})
def get_form( self,request,obj=None, **kwargs):
self.exclude = []
request.user.is_superuser でない場合:
self.exclude.append('A')
return super(CarAdmin,self).get_form(request, obj) =なし、**kwargs)
要点は、フィールドセットによって提供されるグループ化を維持したいということです。
フィールドセットを条件付きで設定する方法を知っている人はいますか??