1
こんにちは私は動的インラインでモデル管理を作成しています。ディスプレイにDjango管理エラーValidationError:[u'ManagementFormデータがありません、または ''で改ざんされました]
class InlineProfile(admin.TabularInline):
model = Profile
# max_num = 1
class InlineProfileOne(admin.TabularInline):
model = TableOne
# max_num = 1
class InlineProfileTwo(admin.TabularInline):
model = TableTwo
# max_num = 1
class UserDisplay(admin.ModelAdmin):
inlines = [InlineProfile]
def get_inline_instances(self, request, obj=None):
up=UserProfile.objects.get(pk=obj.id)
if (up.job_type.job_type==1):
self.inlines.append(InlineProfileOne)
elif (up.job_type.job_type==2):
self.inlines.append(InlineProfileTwo)
return obj and super(UserDisplay, self).get_inline_instances(request, obj) or []
# def get_formsets(self, request, obj):
# print obj
# for inline in self.get_inline_instances(request, obj):
# yield inline.get_formset(request, obj)
list_display = [f.name for f in LCUser._meta.fields]
field_set = list(list_display)
field_set.remove('id')
field_set.remove('api_key')
field_set.remove('api_secret')
readonly_fields=['last_login_ip','last_login_timestamp','created_at','updated_at']
fieldsets = (
(None, {
'fields': field_set,
}),
('Advanced options', {
'classes': ('collapse',),
'fields': ('api_key', 'api_secret'),
}),
)
search_fields=list_display
list_filter=['user_type','profile_complete']
list_editable=list(list_display)
list_editable.remove('id')
list_editable.remove('updated_at')
list_editable.remove('created_at')
list_editable.remove('last_login_timestamp')
list_editable.remove('last_login_ip')
class Meta:
model = LCUser
私はsomtimes 1つではなく、2つのインライン列を見て、私はそれを更新しようとすると、私は「ManagementFormデータが欠落しているか、改ざんされている」私が間違って何をやっていた考え出した
ManagementFormをレンダリングする必要があるかもしれません。https://docs.djangoproject.com/en/dev/topics/forms/formsets/#understanding-the-managementform –
管理フォームにインラインがある場合は、 、インラインがロードされる(接続が遅くなる)前に変更を加えると、このエラーが発生します。 – MagicLAMP