Django - ограничение NOT NULL не сработало в поле modelchoicefield
Я делаю сайт аукциона для задания, но мне не удается сделать категорию необязательной при создании нового объявления. Я получаю ошибку NOT NULL constraint failed после нажатия кнопки "Create listing", в то время как у меня в модели null=True и blank=True. Что я делаю неправильно?
моя модель категории выглядит следующим образом:
class Category(models.Model):
name = models.CharField(max_length=64, blank=True, null=True)
def __str__(self):
return self.name
forms.py выглядит следующим образом:
class CreateListing(forms.ModelForm):
category = forms.ModelChoiceField(queryset=Category.objects.all(), empty_label="No category", required=False)
class Meta:
model = AuctionListing
fields = ('title', 'description', 'starting_bid', 'url', 'category', 'user')
widgets = {
'title': forms.TextInput(attrs={'placeholder':'Write your listing title here...'}),
'description': forms.Textarea(attrs={'placeholder':'Write your comment here...', 'rows':3}),
'user': forms.HiddenInput(),
}
def __init__(self, *args, **kwargs):
user = kwargs.pop('user')
super().__init__(*args, **kwargs)
self.fields['user'].initial = user.id
А это представление для создания листинга:
def create_listing(request):
form = CreateListing(request.POST, user=request.user)
if request.method == "POST":
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse("index"))
else:
print("RIP")
return render(request, "auctions/create_listing.html", {"form": form})
return render(request, "auctions/create_listing.html", {
"form" : CreateListing(user=request.user)
})