问题标签 [m2m]

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 投票
4 回答
10820 浏览

django - Django m2m 表单保存“通过”表

我无法保存包含“通过”类表的 m2m 数据。我想将所有选定的成员(在表单中选择)保存在直通表中。但我不知道如何在视图中初始化“通过”表。

我的代码:

在视图中:

我应该如何初始化要填充的 Membership 表的成员资格?

0 投票
5 回答
28664 浏览

django - django 无法在指定中间模型的 ManyToManyField 上设置值。改用管理器

我正在努力在同一张表格上保存两个表格 - 具有 m2m 关系。我没有成功,我的错误仍然存​​在,例如:无法在指定中间模型的 ManyToManyField 上设置值。使用 Membership's Manager 代替 Membership 是我的“通过表”。

我的代码:

我的模型:

我哪里错了?

0 投票
1 回答
2056 浏览

python - Django Admin - 显示 M2M 模型的中间字段

我们有一个包含报纸文章列表的 Django 应用程序。每篇文章都与“发言人”和“公司”(文章中提到的公司)都存在 m2m 关系。

目前,用于创建新文章的 Add Article 页面非常接近我们想要的——它只是普通的 Django Admin,我们使用 filter_horizo​​ntal 来设置两个 m2m 关系。

下一步是在每个 m2m 关系上添加一个“评级”字段作为中间字段。

所以,我们的 models.py 的一个例子

这里的问题是,一旦我们将公司和发言人字段更改为“通过”并使用中介,我们的添加文章页面不再有 filter_horizo​​ntal 控件来将公司/发言人关系添加到文章中——它们完全消失了。你根本看不到它们。我不知道为什么会这样。

我希望有某种方法可以继续使用很酷的 filter_horizo​​ntal 小部件来设置关系,并以某种方式在其下方嵌入另一个字段来设置评级。但是,我不确定如何在仍然利用 Django 管理员的同时做到这一点。

我在这里看到一篇关于在 Django admin 中覆盖单个小部件的文章:

http://www.fictitiousnonsense.com/archives/22

但是,我不确定该方法是否仍然有效,并且我不确定是否将其应用到此处,将 FK 用于中间模型(那么它基本上是内联的?)。

当然有一个简单的方法来做这一切?

干杯,维克多

0 投票
1 回答
1689 浏览

django - Django 在 m2m 中间表中保存项目列表

我在一个类中有一个 m2m 字段和一个直通表。我不是表格来保存直通表格中的项目列表。如果我有一个多选表单,如下所示,并且我希望能够保存所有选定的项目,我应该怎么做?

我的模型形式如下所示:

我的保存方法是这样的:

如何做到这一点?谢谢!

0 投票
2 回答
481 浏览

django - Define ManyToMany relation in another application in Django

I have apps Users and Projects and would like to define another app called Roles for extending django-auth for per-project basis.

I defined ProjectMembership in the Roles app as a custom ManyToMany relationship model. But how can I define the M2M field in User or Project model with through declaration?

So question is can we define model's field from another app?

0 投票
4 回答
10297 浏览

django - 复制 django 模型实例的所有字段

好的,我认为这是非常基本的,但是由于我是 Django 新手,所以我不知道如何处理这个问题。

我需要复制一个 django-model 的实例。正如这里所解释的,复制多对多关系存在问题。但我猜附件“django-model-copying.diff”具有该功能。所以我不知道 - 我的 Django 是否已经具备该功能?我不知道怎么称呼它。帮助将不胜感激。

0 投票
2 回答
602 浏览

mysql - 与 Django m2m 关系的 IntegrityError

我有一个相对简单的 Django 应用程序,使用量很大,负责数据库操作中的一些并发性。

我有一个带有 m2m 的模型 Post 到 Tag 模型。

我的代码中的一行p.add(t)重复导致 mysql 异常(其中p是 Post 实例并且t是 Tag 实例。)

出现此问题时,我可以手动p.add(t)成功运行它,因此它必须与 db/app 在正常执行时所处的某些特殊状态有关。它大约每 1000 次添加标签尝试发生一次,没有我可以检测到的任何模式(即示例的“329051-1827414”对中的两个数字都发生了变化)

一个CHECK TABLE在mysql上的相关表显示,貌似都OK。

有任何想法吗?

0 投票
1 回答
709 浏览

django - django-admin:创建、保存和关联 m2m 模型

我有两个模型:

我的作品管理员中有 m2m 关系,但我希望在创建新作品时创建默认画廊并在两者之间注册关系的功能。

到目前为止,我可以通过覆盖作品保存来创建默认画廊:

这将创建并保存模型实例(如果它不存在),但我不知道如何注册两者之间的关系?

0 投票
1 回答
313 浏览

django - 与 Django 多对多关系的关系?

我对 Django 和 OO 比较陌生,所以我可能遗漏了一些明显的东西,但我无法理解如何对以下内容进行建模:

  • 我有位置。

  • 我有游戏。

每个位置都可以拥有所需数量的游戏,并且游戏可以位于多个位置(这些是游戏名称“大富翁”中的游戏,而不是特定实例)。

这很简单,可以用 m2m 关系建模:

我也有通常的 Django 用户模型。

现在,我试图添加到这种关系中的是分数的概念。

用户应该能够为位于特定位置的游戏输入他们的分数。然后,我应该能够显示某个位置的每场比赛的前 10 名得分,以及所有位置的一场比赛的全球前 10 名得分。

所以,基本上应该有一个与用户、游戏和位置相关联的分数。

在我看来,这应该是与关系本身的某种关系。我查看了有关 m2m 关系和中间模型的额外字段,但我无法找到正确执行此操作的方法。

任何指针都很高兴。

谢谢!

0 投票
1 回答
5627 浏览

django-models - Django:无法使用 m2m_changed 信号检测多对多字段的更改-在模型级别进行审计

我想跟踪任何模型上的哪些字段发生了变化(即在模型级别进行审计,因为它更原子,而不是像 django 和 django-reversion 已经可以做的那样在管理/表单级别)。我可以使用 pre/post save/delete 信号对任何字段执行此操作。但是,我在 m2m 字段上执行此操作时遇到问题。

对于下面的代码示例,我在用户更改表单中定义了“custom_groups”m2m 字段,因为它是反向关系。例如,当用户在管理界面上保存表单时,如果“custom_groups”字段发生变化,我想记录。

模型:

模型形式:

使用 m2m_changed 信号的问题是,对于使用赋值运算符更新 m2m 字段的情况,我无法检查实际发生了什么变化:

这是因为在手动添加所有对象之前,django 内部会在 *custom_groups* 上执行 clear()。这将执行前/后清除,然后在 m2m 字段上执行前/后保存。

我做这一切都是错误的吗?有没有更简单的方法可以实际工作?

谢谢!