私は表形式のインラインでDjango管理者にフォームを持っています:
class MemberAdminInline(admin.TabularInline):
model = Member
fields = ("first_name", "last_name")
readonly_fields = ("first_name", )
class GroupAdmin(admin.ModelAdmin):
model = Group
fields = ("name", "description")
inlines = [MemberAdminInline]
条件付きでMember'sを表示したいと思いlast_name
ます。いえ
"If first_name = "Joe": don't display show field for last_name".
フィールドを表示せず、非表示にしないことが重要です (たとえば、JS を使用)。実際の作業シナリオでは、このフィールドには、フォームを通過したときに壊れるバイナリ データが含まれる場合があるためです。last_name
つまり、特定first_name
の sに対してのみ管理者から編集できるようにしたいのです。
インライン用のカスタムフォームを提供し、そこから条件付きでフィールドを削除するか、readonly_fields
さまざまな段階でリストにフィールドを動的に含めようとしましたが、Django は常にフィールドを非表示にしたいフィールドを見つけようとしました。
ジャンゴ 1.3.1