如何在Django管理界面中为对象属性分配空值?

ujv3wf0j  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(83)

我正在设计一个类似eBay的网站。我的项目有几个模型,其中一个,即“Listing”,代表了所有现有的产品:

class Listing(models.Model):
    title = models.CharField(max_length=64)
    description = models.CharField(max_length=512)
    category = models.CharField(max_length=64)
    image_url = models.URLField()
    owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="created_listings")
    is_active = models.BooleanField(default=True)
    winner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="won_listings", null=True)

我需要赢家属性能够等于一个空值。但是当我尝试在Django管理界面中为它分配一个空值时,我得到一个错误:

我该如何解决这个问题?感谢您的评分

s8vozzvw

s8vozzvw1#

你可以使用**blank=True**[Django-doc]将该字段设为非必填字段:

class Listing(models.Model):
    # …
    winner = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        related_name="won_listings",
        null=True,
        blank=True,
    )

注意:通常使用**settings.AUTH_USER_MODEL[Django-doc]引用用户模型比直接使用User**模型[Django-doc]更好。有关详细信息,您可以查看文档的 referencing the User model 部分。

相关问题