NEWBIE ALERT!
фон:
Впервые я пишу модель, которую необходимо проверить. У меня не может быть двух элементов , имеющих перекрывающиеся «диапазоны дат». У меня все работает, кроме случаев, когда я поднимаю формы. ValidationError, я получаю желтый экран смерти (debug = true) или 500 страниц (debug = false).
Мой вопрос:
Как я могу отобразить сообщение об ошибке в Admin (например, если вы оставите поле незаполненным)?
Извините за мою неопытность, пожалуйста, дайте мне знать, если я смогу прояснить вопрос лучше.
Models.py
from django.db import models
from django import forms
from django.forms import ModelForm
from django.db.models import Q
class Item(models.Model):
name = models.CharField(max_length=500)
slug = models.SlugField(unique=True)
startDate = models.DateField("Start Date", unique="true")
endDate = models.DateField("End Date")
def save(self, *args, **kwargs):
try:
Item.objects.get(Q(startDate__range=(self.startDate,self.endDate))|Q(endDate__range=(self.startDate,self.endDate))|Q(startDate__lt=self.startDate,endDate__gt=self.endDate))
#check for validation, which may raise an Item.DoesNotExist error, excepted below
#if the validation fails, raise this error:
raise forms.ValidationError('Someone has already got that date, or somesuch error message')
except Item.DoesNotExist:
super(Item,self).save(*args,**kwargs)
def __unicode__(self):
return self.name
def get_absolute_url(self):
return "/adtest/%s/" % self.slug