Django - IntegrityError ... Ограничение NOT NULL не сработало при сохранении()

Я очень новичок в Python и Django, так что, пожалуйста, потерпите меня. Я столкнулся с постоянной ошибкой, связанной со строкой "saleitem.save()" в нижеприведенном файле views.py. Я пытаюсь создать форму, которая позволит мне заполнять различные поля, а затем сохранять и отображать эту информацию на странице active_listing.html.

views.py

def create_listing(request):
    if request.method == "POST":
        saleitem = Listing()
        saleitem.user = request.user
        saleitem.item =request.POST.get("item")
        saleitem.description = request.POST.get("description")
        saleitem.category = request.POST.get("category")
        saleitem.bid = request.POST.get("bid")
        saleitem.image = request.POST.get("image_upload")
        saleitem.save()
        listings = Listing.objects.all()
        empty = False
        if len(listings) == 0:
            empty= True
        return render(request, "auctions/active_listing.html",{
            "listings": listings,
            "empty": empty
    })

    else: 
        return render(request, "auctions/create_listing.html")

models.py


class User(AbstractUser):
    pass

class Listing(models.Model):
    saleitem = models.CharField(max_length = 60)
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="seller", null=True)
    description = models.TextField()
    category = models.CharField(blank = True, max_length= 60)
    bid = models.DecimalField(max_digits=5, decimal_places=2, default=0)
    image = models.URLField(blank=True, null=True)
    listing_status = models.BooleanField(blank=False, default= True)
    winning_bidder = models.ForeignKey(User, blank= True, on_delete= models.CASCADE, related_name = "winner", null = True)    
    bidding_status = models.BooleanField(default=False)

    def __str__(self):
        return self.item

Я попробовал использовать форму Django, а не html-шаблон, и столкнулся с той же проблемой. Когда я заполняю все поля в html-форме и нажимаю кнопку сохранения, я сталкиваюсь с ошибкой:

IntegrityError at /create_listing Сбой ограничения NOT NULL: auctions_listing.bid

Может ли кто-нибудь указать мне правильное направление, что нужно исправить? В сообщении об ошибке говорится, что проблема связана с auctions_listing.bid, но трассировка указывает на saleitem.save(). Любой совет будет принят с благодарностью.

Вернуться на верх