问题标签 [django-related-manager]

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 投票
1 回答
6108 浏览

django - 如何将 OneToOneField 设置为空?

我有一个 OneToOneField 可能为空的模型:

有时它有一个需要在视图中删除的值。null 它的语法是什么?这是一个非常简单的问题,但谷歌并没有真正帮助。

我已经尝试过:

但我想我必须屈服..这样做的正确方法是什么?

0 投票
1 回答
52 浏览

django - 相关领域的 Django 查询集

Django 使查询变得比它需要的复杂得多。

ASentiment可能有 aUser和 a Card,而我得到的Cards是未通过的User's Sentiments

这是查询:

Card.objects.all().exclude(sentiments__in=user.sentiments.all())

这是 Django 运行的:

SELECT * FROM "cards_card" WHERE NOT ("cards_card"."id" IN ( SELECT V1."card_id" AS "card_id" FROM "sentiments_sentiment" V1 WHERE V1."id" IN ( SELECT U0."id" FROM "sentiments_sentiment" U0 WHERE U0."user_id" = 1 ) ) )

这是我想出的一个版本,它没有进行 N 次全表扫描:

Card.objects.raw(' SELECT DISTINCT "id" FROM "cards_card" WHERE NOT "id" IN ( SELECT "card_id" FROM "sentiments_sentiment" WHERE "user_id" = ' + user_id + ' ) )')

我不知道为什么 Django 必须使用 N 次扫描来完成。我一直在网上搜索答案,但到目前为止还没有。关于如何保持性能但不必回退到原始 SQL 的任何建议?

0 投票
1 回答
53 浏览

django - 跨越关系的 Django 更新

我想运行一个跨越多个关系的更新查询。django可以做到这一点吗?这是我尝试过的:

如果您想知道,这里是我的模型的一瞥:

0 投票
1 回答
99 浏览

django - 可重用应用程序中的 Django One(Many)-To-Many 关系

我有一个名为考试的模型。每个考试都有一组称为参与者的用户。我发现在 Django 中保留此类设置的唯一方法是在用户模型中添加一个字段。但我更愿意将这个模型写得尽可能独立,所以如果以后我想再次使用它,我可以在不改变我的用户模型的情况下做到这一点。那么如何在不手动修改用户模型字段的情况下处理这样的设置呢?

0 投票
1 回答
119 浏览

django - 与 Django 和 Tastypie 相关的资源

编辑2:我取得了一些进展,并更新了我的代码如下:

我在models.py中有这三个模型:

我定义了这些美味的模型资源:

现在输出是这样的:

当我请求此 URL ( http://127.0.0.1:8000/api/v1/variables/4/) 时,我试图获得以下输出:

看来我必须通过ResultsResource才能到达UnitsResource,但我怎样才能让我的 XML 输出忽略其中的内容ResultsResource?作为一个附带问题,我可以查看哪些文档来帮助我解决这个问题?

0 投票
2 回答
116 浏览

django - Django:定义一对多关系

我对OneToMany在 Django 中定义的关系感到困惑,而 Django 中没有。ManyToOne可以使用字段来完成,ForeignKey 但我不知道为 OneToMany 定义。

这是我的问题,我想将用户作为列表添加到模型中。

简单地说,它应该列出投票帖子的用户。如何做到这一点?提前致谢。

0 投票
1 回答
1424 浏览

python - 如何在 django 中显示相关对象集?

我知道这个问题似乎很容易回答,而且答案会在某个地方的 API 引用中,但我对 django 有点陌生,并且已经通过 API 倾注了好几天试图完成这项工作。任何帮助将不胜感激!

我正在为我大学的计算机实验室创建一个基本的博客应用程序,在这个应用程序中你有两个相关的页面。位置页面显示有关校园内每个实验室的信息(小时、位置/建筑物),以及显示有关每个实验室设备信息的资源页面。

我的 models.py 文件如图所示设置(还有其他模型,但这些是唯一相关的:

我的views.py 文件:

我需要在其中显示的模板是这样的:

像这样显示它的重点是大学对如何呈现网页上的信息有严格的指导方针,他们希望一切都在整齐有序的表格中。该表需要在第一列上具有动态行跨度,以支持人们通过 django admin 添加或删除计算机/打印机类型。

我通过 StackOverflow 进行搜索,发现了一些与我类似的问题,他们说使用 prefetch_related 来在一个批处理查询中获取相关对象,但是当我这样做时,我开始得到一个 TypeError "RelatedManager" is not an iterable 在尝试访问时模板中的打印机。我明白为什么会这样。这是因为处理查询的相关管理器类不返回列表/数组/元组。我只是不知道如何以我需要的方式访问我需要的信息。

我确实让它部分使用了注释掉的通用视图,但是当我使用时 location.lab_printers.count 返回的值不一致并且没有反映数据库中的实际对象,弄乱了格式,并导致缺少 td 元素和不准确的显示。

抱歉,如果我漫无边际,这只是一个复杂的问题,我完全没有关于如何去做这件事的想法。

非常感谢任何和所有帮助。感谢您的时间!

0 投票
0 回答
24 浏览

django - 多数据库配置中的 Model.add()

相关管理器有一个名为add“将指定模型对象添加到相关对象集”的方法。

例如,您可以这样做:

当您调用时add,它会自动进行保存。如何将关键字参数传递给它调用的 save 方法?就我而言,我想传递using='my-other-db', force_insert=True给 save 方法,因为我处于多数据库环境中。

有任何想法吗?

0 投票
2 回答
2538 浏览

python - Django 抽象模型用下划线设置related_name

我有一个 Abstract 基本模型和 2 个继承模型,我需要强制 related_name 采用特定格式。

通常,related_name = '%(class)s' 将分别导致 catanimal 和 doganimal。

我需要像这样的下划线值:dog_animal,cat_animal

这是我需要这样做的“原因”-Legacy。这些模型不是用基类组织的——所以最初指定的related_name 是“dog_animal”和“cat_animal”。改变这将是很多工作。

0 投票
0 回答
1658 浏览

django-models - Django REST Framework 嵌套序列化程序和 select_related

我有以下设置:我正在使用 django-rest-framework 和 django-model-utils InheritanceManager 来自动获取子对象。

我的问题是select_related无法正常工作。当我调用检索操作时,我在调试工具栏中看到两个查询而不是一个。第一个是与位置表的预期内部连接。但随后对位置表有一个额外的查询:

所以我select_related用来连接表,但序列化程序以某种方式对数据库进行了额外的查询。

如果我不使用其余框架并直接获取对象,

它作为例外工作,并且只访问数据库一次。

有谁知道如何解决这个问题?