繁体   English   中英

Django MySQL如何停止外键约束?

[英]Django MySQL How to stop foreign key constraint?

我有这样的模型:

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值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM