gpt4 book ai didi

python - Django 中用户的默认类型是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:46 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库对象,用于存储用户计划在特定日期参加的音乐会。由于每个音乐会条目都需要与用户相关联,因此我为用户添加了一个外键字段作为音乐会模型的属性。这是完整的模型:

class Concert(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE)
concert_name = models.CharField(max_length = 120, blank = True, null = True)
venue = models.CharField(max_length = 120, blank = True, null = True)
city = models.CharField(max_length = 120, blank = True, null = True)
state = models.CharField(max_length = 120, blank = True, null = True)
country = models.CharField(max_length = 120, blank = True, null = True)
timestamp = models.DateTimeField(auto_now_add = True, auto_now = False)
updated = models.DateTimeField(auto_now_add = False, auto_now = True)

当我尝试迁移到数据库时,我收到一条消息:您正在尝试添加一个不可为 null 的字段“用户”以在没有默认值的情况下进行协调; 本质上是在说已经填充的行需要有一个值。我找到了 this SO post这似乎是在解决类似的问题,但解决方案中建议的默认值是针对 charfield 的,我认为这不会真正适用于这种情况。我应该如何设置用户对象的默认值?

最佳答案

您可以使用null=True:

user = models.ForeignKey(User, null=True)

虽然如果您查看您的数据库实际模型,您看不到实际的外键,但是当您将 models.ForeignKey(User) 放入您的模型中时,您可以在您的数据库中看到一个 user_id 带有引用,但所需的关系存在,因此您可以将其设为 null=True 作为默认值。

关于python - Django 中用户的默认类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34378688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com