1

我的 Django 管理员有一个start_dateend_date字段。save_related我想end_date在它大于start_date.

我一直在寻找文档,但没有找到关于此的示例。这是我到目前为止所尝试的:

我的 Django 管理员代码:

@admin.register(models.Event)
class EventAdmin(admin.ModelAdmin):
...
    def save_related(self, request, form, formsets, change):
        obj = form.instance
        # Check validations
        start_date = obj.start
        end_date = obj.end
        if end_date < start_date:
            msg = u"End date should be greater than start date."
            self._errors["end_date"] = self.error_class([msg])
            return
         ...

但是这段代码有这个错误:'EventAdmin'对象没有属性'error_class'我该如何解决这个问题?

4

1 回答 1

-1
class CourseForm(forms.ModelForm): 

    def clean(self):
        cleaned_data = super(CourseForm, self).clean()
        start_date = self.cleaned_data.get('start_date')
        end_date = self.cleaned_data.get('end_date')
        if end_date < start_date:
            raise forms.ValidationError("End date should be greater than start date.")
        return cleaned_data

class CourseAdmin(admin.ModelAdmin):
    form = CourseForm
于 2019-08-13T11:12:07.043 回答