DN
def validate_date(date, year, month):
if date < datetime.datetime(year=year, month=month, day=1):
raise ValidationError('Date cannot be earlier than year and month')
class Common(models.Model):
MONTH = (
(1, 'January'),
(2, 'February'),
(3, 'March'),
(4, 'April'),
(5, 'May'),
(6, 'June'),
(7, 'July'),
(8, 'August'),
(9, 'September'),
(10, 'October'),
(11, 'November'),
(12, 'December'),
)
month = models.IntegerField(choices=MONTH)
year = models.IntegerField(choices=zip(range(2015, 2021), range(2015, 2021)))
date = models.DateTimeField(validators=[validate_date])
def __str__(self):
return '%s %s' % (self.date, self.month)
class Meta:
abstract = True
unique_together = ('month', 'year')