Значение по умолчанию в моделях django
Я создал модель с этими филдами. Я хочу установить start_date
и end_date
на дату по умолчанию, когда регистрируется посещаемость, однако, при миграции я получаю эту ошибку
django.core.exceptions.ValidationError: [''Значение "26/06/2022" имеет неверный формат даты. Оно должно быть в формате YYYY-MM-DD.']
.
модель в model.py
class Attendance(models.Model):
ATTENDANCE = (
('absent', 'Absent'),
('present', 'Present')
)
student_id = models.CharField(max_length=100, null=True)
course_id = models.CharField(max_length=100, null=True)
date = models.DateField(auto_now_add=True, null=True)
time = models.TimeField(auto_now_add=True, null=True)
attendanceState = models.CharField(max_length=20, null=True,choices=ATTENDANCE)
start_date = models.DateField(default=2022-2-27)
week_num = models.CharField(max_length=2, blank=True)
end_date = models.DateField(default=2022-6-27)
def __str__(self):
return '{}'.format(self.student_id)
def save(self, *args, **kwargs):
#print(self.start_date.isocalendar()[1])
if self.week_num == "":
self.week_num = self.start_date.isocalendar()[1]
super().save(*args, **kwargs)
Пожалуйста, проверьте миграции до этого, я думаю, что проблема в этом, Кроме того, измените значение даты по умолчанию на
start_date = models.DateField(default='2022-02-27')
end_date = models.DateField(default='2022-06-27')
затем makemigrations и migrate, запустите сервер, вы увидите что-то вроде этого в админке django: Add Attendance in django admin