gpt4 book ai didi

python - Django MySQL 如何停止外键约束?

转载 作者:行者123 更新时间:2023-11-29 09:01:47 25 4
gpt4 key购买 nike

我有一个这样的模型:

from django.db import models

class House(models.Model):
address = models.CharField(max_length=200)
price = models.CharField(max_length=200)

class Inhabitant(models.Model):
home = models.ForeignKey(House, blank=True, null=True, on_delete=models.SET_NULL)
name = models.CharField(max_length=200)
age = models.IntegerField()

但是,当运行python manage.py sql my_test_app时,我在最后得到了这个:

ALTER TABLE `my_test_app_inhabitant`
ADD CONSTRAINT `house_id_refs_id_7cd928c7`
FOREIGN KEY (`home_id`)
REFERENCES `my_test_app_house` (`id`);

这意味着我无法添加没有房屋的居民 - 我该如何解决这个问题?

最佳答案

外键并不意味着你不能添加没有房子的居民。

约束条件是:“如果 Inhabitant.house 包含一个值,那么该值必须出现在 House 模型中”。

要验证数据库是否允许没有房屋的居民,您应该检查房屋字段居民表是否允许 NULL 值。

关于python - Django MySQL 如何停止外键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8384407/

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