models.py
starting_date = models.DateField(_('Дата начала'))
expiry_date = models.DateField(_('Дата окончания'))Я вроде как сделал, но правильный ли подход? :
forms.py
from django import forms
from django.utils.translation import ugettext_lazy as _
from wonderay.main.models import Promotion
class PromotionAdminForm(forms.ModelForm):
class Meta:
model = Promotion
def clean(self):
self.cleaned_data = super(PromotionAdminForm, self).clean()
if self.instance.starting_date > self.instance.expiry_date:
raise forms.ValidationError(_('Дата начала акции должна быть меньше даты конца акции'))
return self.cleaned_data
from django.contrib import admin
from wonderay.main import models, forms
class PromotionAdmin(admin.ModelAdmin):
form = forms.PromotionAdminForm
admin.site.register(models.Promotion, PromotionAdmin)