私はカスタム検証の管理フォームを持っています。フォームフィールドのいくつかはlist_editableを介してリストビューに表示されます。リストビューでこれらのフィールドを変更すると、カスタム検証が実行されません。ただし、通常の変更フォームを使用すると機能します。したがって、問題は "change_list"ページを介して行われた変更をどのように検証するかです。adminのlist_editableフィールドのカスタム検証
コードが
class ProjectForm(ModelForm):
class Meta:
model = Project
def clean(self):
print "validating!"
data = self.cleaned_data
if data.get('on_frontpage') and not data.get('frontpage_image'):
raise ValidationError('To put a project on the frontpage you must \
specify a "Frontpage image" first.')
return data
class ProjectAdmin(AdminImageMixin, DisplayableAdmin, SortableAdmin):
form = ProjectForm
...
list_editable = ("status", "on_frontpage",)
list_display = ("title", "status", "on_frontpage")
おかげで、それが明確になるかもしれません!
これに関するアップデートはありますか? – fastmultiplication
あなたのコメントは1ヶ月前からのものですが、私はこの質問にちょうど答えました。 –