当前位置: 首页 > 面试题库 >

Django ForeignKey不需要参照完整性吗?

蒋联
2023-03-14
问题内容

我想ForeignKey在Django模型中设置一个字段,该字段有时会指向另一个表。但是我希望可以在此字段中插入一个ID,该ID指向另一个表中可能不存在的条目。因此,如果该行存在于另一个表中,我想获得ForeignKey关系的所有好处。但是,如果没有,我希望将此视为一个数字。

这可能吗?这是通用关系的目的吗?


问题答案:

这个问题是很久以前问过的,但是对于新手来说,现在可以通过在ForeignKey上设置db_constraint = False来解决此问题:

https://docs.djangoproject.com/zh-
CN/dev/ref/models/fields/#django.db.models.ForeignKey.db_constraint

customer = models.ForeignKey('Customer', db_constraint=False)

或者如果您想成为可空值并且不强制执行参照完整性:

customer = models.ForeignKey('Customer', null=True, blank=True, db_constraint=False)

我们在无法保证将以正确的顺序创建关系的情况下使用此方法。

编辑:更新链接



 类似资料:
  • 问题内容: 我们计划使用触发器和需要审计的每个表的单独历史表在数据库中引入简单的审计跟踪。 例如考虑表StudentScore,它只有很少的外键(例如StudentID,CourseID)将其链接到相应的父表(Student&Course)。 如果StudentScore需要审核,我们计划创建审核表StudentScoreHistory- 如果修改了StudentScore中的任何行,我们会将旧行

  • 我有和表,我在laravel中建立了一对一的关系,这很好,但如果我尝试在不引用任何用户(id)的情况下手动将数据(外键用户id)添加到电话表中,它也会起作用。 在mysql(phpmyadmin)中,迁移后没有建立外键关系。 所以我想问,外键的优势是什么,如果它不把任何约束放在数据库表中,或者如果有任何方法可以使用laravel添加这些约束,请告诉我。 代码片段 app/Phone.php app

  • 问题内容: 我正在尝试解析Web请求并将其保存到数据库。我有3个模型,第一个节点是virtualDocument。这是uniq表(根据请求url)。VirtualRequest表具有所有erquest主体,而HttpHeaderList表根据其virtualRequest bean ID具有所有thhp标头。 当我尝试保存第一个日志时,出现了这样的错误; 这是VirtualDocument bea

  • 问题内容: 我在搞弄JAX- RS,制作了一个应用程序,该应用程序调用产生JSON的REST服务。我尝试了Jersey,一切都很好,但是由于我的应用程序需要使用JDK5进行构建,因此我不得不切换到RESTEasy。我将web.xml更改为以下内容: 因此,我希望每个以/ rest开头的URL都将由RESTEasy处理。我的服务如下: 使用Jersey可以正常工作,http:// localhost

  • 我在struts2中使用jqgrid插件。我能够在浏览器中看到JSON数据,但不确定如何在网格中显示该数据(使用grid.jsp)。 以下是我正在使用的文件: 支柱。xml 网状物xml http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“id=“WebApp\u id”版本=“3.0” JSONDataAction.java 用户ction.jav

  • 我想知道在不运行require的情况下,节点的require将解析到什么路径。 例如 在内部node.js将查看它的PATH,弄清楚它是一个目录、一个js文件、一个json文件等。,然后加载文件。 有没有办法在不实际加载模块的情况下只处理完整解析的路径? 我正在寻找的输出是这样的 重要的部分是. js扩展名,因为节点必须完全解析路径。 注意:无法解决此问题。如果some_module实际上是一个包

  • 我真的需要帮助。 我试图在新机器上运行我的jsp应用程序,jetty给了我这个错误:org.apache.jasper.JasperException:pwc6345:调用javac时有一个错误。需要完整的JDK(而不仅仅是JRE 编辑:问题解决-这是月食月星错误-在月食开普勒,它正在工作

  • 本文向大家介绍详解sql中的参照完整性(一对一,一对多,多对多),包括了详解sql中的参照完整性(一对一,一对多,多对多)的使用技巧和注意事项,需要的朋友参考一下 一、参照完整性 参照完整性指的就是多表之间的设计,主要使用外键约束。 多表设计: 一对多、多对多、一对一设计 1.一对多 关联主要语句: constraint cus_ord_fk foreign key (customer_id) R