我有一個自定義驗證的管理員表單。一些表單域通過list_editable顯示在列表視圖中。當我通過列表視圖修改這些字段時,自定義驗證不會啓動。但是,當我使用常規更改表單時它確實有效。所以問題是我如何驗證通過「change_list」頁面所做的更改。在管理中爲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 2012-02-28 08:39:32
您的評論來自一個月前,但我只是回答了這個問題。 – 2012-03-19 17:14:54