外键字段引发中的默认值0

2024-10-04 11:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django模型的外键字段中将默认值设置为0。但它引发了IntigrityError(1048,“列'country'u id'不能为null”)

嗨,我有这样的代码:

class TestModel(models):
    name = models.CharField(max_length=255, blank=True)
    reg_from = models.CharField(max_length=255, blank=True)
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES, blank=True, null=True)
    country = models.ForeignKey(Country, blank=True, default=0)

出于某种原因,在保存TestModel时,我不能提供国家信息。我想稍后再更新。在

克莉丝


Tags: django模型idtruemodelscountrynulllength
3条回答

我将字段null设置为快速而肮脏的解决方案。在

尝试“无”而不是0。0是一个整数,它无论如何都不应该工作。在

它引发了一个错误,因为您的国家/地区模型中没有一个对象具有PK = 0。在

如果不想将字段设置为null,那么只需使用pk=0创建一个Country对象,比如:Country.objects.create(name='No Country', pk=0)。在

不过,将字段设置为null并拥有{}可能是一个更为简洁的解决方案。在

相关问题 更多 >