问题标签 [foreign-key-relationship]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
136 浏览

postgresql - Postgres:FK 约束的问题

如何解决 FK 约束?用触发器还是别的什么?

0 投票
1 回答
1033 浏览

c# - 使用 LINQtoSQL 从 ASP.NET MVC 中的外键表中检索项目和值

我们的团队目前正在开展一个大型项目,该项目大量使用外键表,因为它们在我们的 TeamMember 管理 Web 应用程序中使用。

基本上,一个 TeamMember 可以在一个 Team、一个 Area 和一个 TeamArea 中(后者用于编辑和权限管理)。

我的主要目标是检索数据,以便在我的编辑/创建视图中将这些 FK 字段显示为真实的 DropDownLists,而不是带有 FK_ID 编号的 TextBoxes。

到目前为止我已经尝试过:

  • 创建一个将所有其他数据存储在列表中的 FormViewModel。结论:不可用,因为我需要传递/创建我的存储库的另一个实例。

  • 直接在 TeamMember 类上实现这些列表——但效果并不好。

  • 还考虑在存储库中对其进行编码,但无法真正从表中正确获取数据。

实现这一目标的最佳和“最干净”的方法是什么?

0 投票
2 回答
4216 浏览

c# - Fluent NHibernate:外键不为空的问题

我有以下域类:

我根据以下帖子制作了实体基类。我定义了以下映射:

当我运行以下代码时:

我收到以下错误:

NHibernate.PropertyValueException:非空属性引用空值或瞬态值。

如何克服这个问题?

在此先感谢 Lukasz Glaz

0 投票
2 回答
258 浏览

django - 限制 ForeignKey 关系的范围?

我正在开发一个投资组合应用程序。在这个应用程序中,我有一个名为“Project”的模型,它看起来像这样:

所以,基本上,这个项目可以包含一组图像(这些图像中的任何一个也可能属于另一个项目)。

现在,我想添加的是一种指定这些“图像”之一是“lead_image”的方法。

所以我可以添加这样的东西:

但是,这样做的问题是,在这种情况下,lead_image 可以是任何图像。我真正想要的是让它成为属于这个模型实例的“图像”之一。

我在想我需要使用“ForeignKey.limit_choices_to”参数,但我不确定如何使用它......特别是因为当模型实例首次创建时,“图片”目录。

任何帮助都会非常受欢迎。

道格

0 投票
2 回答
88 浏览

ruby-on-rails - Activerecord,'foregin_key' 必须是 2 个字段的组合

我想要下面描述的 has_many 关系

下面是表 mcollections 的定义

:foreign_key不是表上的单一字段mcollections。外键必须是 2 个字段 ( obj_id + category) 的组合。我怎样才能在User课堂上指定这个?

0 投票
2 回答
135 浏览

ruby-on-rails - 如何将两个字段与 Ruby on Rails 关联?

刚开始使用 Ruby on Rails 看看它是什么样的。

我有一个带有 id 的用户模型和一个带有 adderId 的帖子模型。post 模型的 adderId 应该是创建它的用户的用户 ID。

我如何将这些与 Ruby on Rails 联系起来?

0 投票
1 回答
2035 浏览

sql - 具有多个表的 SQL 外键

如果我有三个表:

这些填充有:

现在假设我正在为每个项目显示一个网页,每个项目都使用一个单独的模板,并将这些信息存储在下表中:

数据如下:

模板将知道外键与特定的相关表相关,因此矿物模板知道查询该表的其他字段的矿物表。但是,我没有任何参照完整性。如果从矿物表中删除岩石,我不能使用级联删除从页面中删除行,因为外键不是唯一的。我可以想出很多方法来解决这个问题:

  • 使用触发器模拟级联删除
  • 将项目类型存储在 music_types、矿物和动词表的每一行中,并使用它作为额外的外键
  • 在 pages 表中存储适当的表名
  • 使用 PHP 等维护数据库的完整性。

我认为必须有更好的方法来存储我的数据或维护数据库的完整性。有什么想法吗?

0 投票
1 回答
252 浏览

python - 如何从一组子实例中获取所有相关/父实例而不循环后一组

请注意以下 Django 模型:

假设数据库中所有子项的某个子集可用作查询集(称为第一集)。
现在,我想访问与第一组中的孩子相关的所有父母的子集(称为第二组)。

如何在不遍历 python 级别的第一组(并可能导致线性数量的 DB 命中)的情况下做到这一点,即只有一个或两个 DB 命中?

谢谢!

0 投票
1 回答
232 浏览

sql - 外键和主键错误

根据我们上次关于重复发票编号的讨论。并且您建议的代码如下:

工作正常。

但另一个表是invcarat相同的字段如下:

现在我必须在 invcarat(invno) 上创建外键,但是在创建“参考表发票上的主键不存在”的外键时发生错误。虽然我如上所述在发票上创建了主键。

请回复如何在两个表之间生成关系。

提前致谢。

0 投票
4 回答
1211 浏览

sql - SQL 数据库 (Firebird):外键问题

我的 SQL 数据库 (Firebird) 有一个名为tTransaction的表。它包含两列,senderFKreceiverFK。还有其他三个表,tBufferStocktFacilitytOutsideLocation

发送方或接收方可以是缓冲库存、我们自己的设施或外部位置。

我的问题是我不知道如何让senderFKreceiverFK引用正确的表。

我已经想到了发送者和三个可能的发送者之间的一个新表,该表具有一个 ID、一个介于 1 和 3 之间的数字以及该表中引用的 ID,但实际上这并不能解决问题。有任何想法吗?

诺伯特