Когда я пытаюсь сохранить (отредактировать) форму, основанную на модели, django показывает (1048, «Столбец« create_at »не может быть пустым»), но созданный_at имеет auto_now_add=True
.
Воткод:
Вид:
def post(self, request, track_id):
track_form = forms.AddTrack(request.POST, request.FILES)
if track_form.is_valid():
record = track_form.save(commit=False)
record.id = track_id
record.author = request.user
record.save()
# Let's let template know that new track was created!
#request.session['track_created'] = True
return HttpResponseRedirect("/mytrack/15")
else:
return HttpResponseRedirect("/nothing/nothing/nothing/")
Модель:
class Track(models.Model):
title = models.CharField(max_length=40, null=True)
description = models.CharField(max_length=500, null=True)
author = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
miniature = models.ImageField(upload_to='images/track', default="defaults/default.png", validators=[validate_miniature_file_extension])
audio_or_video = models.FileField(upload_to='audio_and_video/', default="file_not_found", validators=[validate_track_file_extension])
favourite = models.BooleanField(default=False)
def __str__(self):
return self.title
URL:
path('track/<int:track_id>', track.as_view(), name='track'),
Форма:
class AddTrack(forms.ModelForm):
class Meta:
model = models.Track
fields = ['title', 'description', 'audio_or_video', 'miniature', 'favourite']
widgets = {
'description': Textarea(attrs={'cols': 30, 'rows': 10}),
}