问题标签 [django-orm]

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 投票
3 回答
6099 浏览

django - django - 切片后重新排序查询集

我从按日期时间字段排序的 Foo 模型中获取最新的 5 行。

在接下来的步骤中,我想按其他一些条件(实际上,按相反方向的相同日期时间字段)对查询集重新排序。但是不允许在切片后重新排序。reverse() 撤消第一个排序,给我一个不同的查询集。有没有办法在不从查询集中创建列表并使用它进行排序的情况下完成我想要的事情?

0 投票
2 回答
228 浏览

django - 当我尝试使用 postgreSQL 中的参数执行查询时,为什么会出现错误?

数据库是 PostgreSQL。当我尝试使用参数执行查询时,例如这个

Django 抱怨ProgrammingError,在参数处或附近添加语法错误(在本例中为“ hello ”)。这是错误来自的 Django 生成的 SQL 语句的一部分:

即使我将它复制粘贴到 postgreSQL shell,我也会收到语法错误。如果我省略“E”部分,它会起作用。我应该怎么做?

0 投票
1 回答
2674 浏览

python - 以独立于数据库的方式获取行号 - django

假设我有一个'Scores'表,其中包含'User''ScoreA''ScoreB''ScoreC' 字段。在排行榜视图中,我通过访问者选择的这些得分字段中的任何一个来获取和排序查询集。模板对查询集进行分页。该表由作业定期更新(由 cron 触发的 django 命令)。

我想在查询集中添加一个'rank'字段,以便我将拥有'rank''User''ScoreA''ScoreB''ScoreC'。此外,我想保持数据库独立(postgre 是一个选项,目前它不支持row_number)。

一个解决方案可能是我可以修改作业,以便它还在三个新字段('rankA''rankB''rankC')中计算和写入三个不同的等级。

我希望有一个(很多)更好的解决方案?

0 投票
8 回答
108363 浏览

django - 如何查看Django ORM的查询集对应的SQL查询?

有没有办法可以打印 Django ORM 正在生成的查询?

假设我执行以下语句:Model.objects.filter(name='test')

如何查看生成的 SQL 查询?

0 投票
1 回答
570 浏览

mysql - Django ORM 在 SQL Join 中创建幻影别名

我正在执行以下代码(更改名称以保护无辜者,因此模型结构可能看起来很奇怪):

此时导致:

生成的 SQL 是:

似乎 SQL Join 的 ON 语句正在引用尚未定义的别名。任何想法为什么!我删除了我的 MySQL 数据库并重新同步了我的模型中的表,以尝试确保那里没有任何不一致。

我正在使用的模型的结构是:

0 投票
1 回答
944 浏览

django - 同表 Django ORM 软删除方法好吗?

我正在使用以下设置在 Django 中实现软删除。我对幕后的 Django 不是很熟悉,所以我很感激任何关于我可能遇到的陷阱的反馈。我对 QuerySet 进行子类化特别不舒服。

基本思想是第一次调用deleteon aMyModel会改变当前的日期时间MyModeldate_deleted一秒钟delete实际上会删除该对象。(捕获 adelete需要两个覆盖,一个在对象上,一个在 上QuerySet,这可以绕过对象的delete方法。)由于默认管理器会隐藏已删除的对象,因此已删除的对象会消失,并且必须通过deleted_objects管理器显式请求。

使用此设置需要定义DeletionQuerySetDeletionManager添加date_deletedobjectsdeleted_objects到您的模型。

谢谢,

PS,忘了提到这种从默认管理器中过滤对象的方法是强烈反对的!

0 投票
1 回答
12777 浏览

python - get_or_create() 是否必须立即保存?(姜戈)

我需要使用 get_or_create() 之类的东西,但问题是我有很多字段,我不想设置默认值(无论如何这都没有意义),如果我不设置默认值,它会返回一个错误,因为它显然会立即保存对象。

我可以将字段设置为 null=True,但我不想要空字段。

是否有任何其他方法或任何额外参数可以发送到 get_or_create() 以便它实例化一个对象但在我调用 save() 之前不会保存它?

谢谢。

0 投票
4 回答
4661 浏览

django - Django RelatedManager 的 .create() 用法?

我有两个模型:PlayPlayParticipant,(部分)定义为:

我的一段代码有一个pid 为 8581 的 play,我想向其中添加参与者。我正在尝试使用 RelatedManager.create()来做到这一点,例如:

Django从中构造:

这是 Django 中的错误,还是我在滥用.create()

复制粘贴外壳以进行完整性检查:

从查询.log:

0 投票
8 回答
26160 浏览

django - Django:有没有办法从单元测试中计算 SQL 查询?

我正在尝试找出实用程序函数执行的查询数量。我已经为此功能编写了一个单元测试,并且该功能运行良好。我想做的是跟踪函数执行的 SQL 查询的数量,以便我可以查看在一些重构之后是否有任何改进。

编辑:我发现对此有一个待处理的 Django功能请求。但是票仍然是开放的。与此同时,还有其他方法可以解决这个问题吗?

0 投票
6 回答
58860 浏览

django - Django ORM 中 ImageField 的默认图像

我正在使用ImageField 在我的模型上存储个人资料图片。

如果未定义图像,如何将其设置为返回默认图像?