问题标签 [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 回答
4981 浏览

django - Django: select_related and GenericRelation

Does select_related work for GenericRelation relations, or is there a reasonable alternative? At the moment Django's doing individual sql calls for each item in my queryset, and I'd like to avoid that using something like select_related.

I'm selecting a bunch of Claims, and I'd like the related Proofs to be pulled in instead of queried individually.

0 投票
2 回答
5191 浏览

python - Django:对按月/年分组的日期属性求和

我想把这个查询从 SQL 放到 Django:

导致问题的部分是在聚合时按月分组。我试过这个(这似乎合乎逻辑),但没有奏效:

0 投票
3 回答
10449 浏览

python - 从 Django 的 raw() 查询函数中获取结果数量

我正在使用原始查询,我无法找出如何获取它返回的结果数量。有办法吗?

编辑

.count() 不起作用。它返回:'RawQuerySet' 对象没有属性 'count'

0 投票
1 回答
12642 浏览

python - Django QuerySet 过滤器 + order_by + 限制

所以我有一个处理测试结果的 Django 应用程序,我试图找到某个评估的中位数。我认为这会起作用:

但它总是返回一个空列表。我可以得到我想要的结果:

我只是希望不必查询整套考试。我想写一个看起来像这样的原始 MySQL 查询:

但如果可能的话,我想留在 Django 的 ORM 中。大多数情况下,我似乎无法将 order_by 与过滤器和限制一起使用,这让我很困扰。有任何想法吗?

0 投票
1 回答
2509 浏览

python - Django ORM 和 PostgreSQL 连接限制

我在 Postgresql 8.1.21 上运行 Django 项目(使用 Django 1.1.1、Python2.5、psycopg2、Apache2 和 mod_wsgi 3.2)。我们最近遇到了这个可爱的错误:

OperationalError: FATAL: connection limit exceeded for non-superusers

我不是第一个反对这个的人。关于这个错误有很多讨论,特别是关于 psycopg,但其中大部分集中在旧版本的 Django 和/或提供涉及在 Django 本身中编辑代码的解决方案。我还没有找到关于如何解决 Django ORM(或 psycopg,在这种情况下真正负责的那个)留下开放 Postgre 连接的问题的简洁解释。

只需connection.close()在每个视图的末尾添加就可以解决这个问题吗?更好的是,有没有人最终解决了这个问题并解决了这个错误?

编辑:我们后来将 Postgresql 的限制提高到 500 个连接;这防止了错误的出现,而是用过多的内存使用代替了它。

0 投票
1 回答
198 浏览

django - 在 django 1.2 中具有不同 db 数据库的 mutli django 管理员 - 奇怪的问题

我正在使用 django 1.2 创建一个多站点商店。我需要为每个商店实例进行多个管理员登录,例如

site.com/au/admin
site.com/uk/admin
等等。

我有一个中间件类和一个基于 URL 处理数据库连接的 drouter。这工作正常。

我正在尝试根据该特定商店的可用内容为每个管理系统添加一些自定义。所以:

在 admin.py 中:
如果 country == 'au':
admin.site.register(Orders)
admin.site.register(Payment)

如果 country == 'uk':
admin.site.register(Store_locator)
等。

她的问题:如果我登录到站点的 AU 版本,管理系统会显示 AU 的正确元素。如果我然后登录英国,它仍然显示管理系统的 AU 版本,所以上面的代码似乎只在第一次加载时使用。如果我杀死 django 服务器并重新启动它,然后进入不同的商店管理页面,它将为该商店重新配置。

每次加载管理系统时,如何让它在国家/地区发生变化?为什么首先会出现这个问题?

任何帮助将不胜感激。

谢谢,伊曼克

0 投票
1 回答
1138 浏览

sql - Postgresql 转储是否创建以最后一个键开头或之后的序列?

我最近在一个 Django 项目后面创建了一个数据库的 SQL 转储,在清理 SQL 之后能够恢复数据库和所有数据。问题是序列都被搞砸了。我尝试添加一个新用户并生成 Python 错误IntegrityError: duplicate key violates unique constraint

自然地,我认为我的 SQL 转储并没有重新启动序列。但它确实:

我发现重复尝试创建用户(或任何具有现有数据和此类序列的表中的任何新行)允许成功创建对象/行。这解决了紧迫的问题。

但是鉴于该表中的最后一个用户 ID 是 446——与上面创建序列中的起始值相同——看起来 Postgresql 只是尝试使用该键开始创建行。

SQL 转储是否提供了错误的开始键 1?或者我应该在给定的开始 ID 之后调用其他命令来启动序列吗?非常好奇。

0 投票
3 回答
1215 浏览

python - Django:每个外键返回一个过滤对象

是否可以返回每个外键只返回一个对象的查询集?

例如,我希望从 django_comments 获取最新评论,但我只想要每个对象一个评论(最新评论),即只返回一个对象的最新评论并排除该对象的所有过去评论。我猜这类似于 django_comments.content_type 和 django_comments.object_pk 上的 sql group_by。

++添加信息++

最终目标是创建一个活动评论“线程”列表,按哪个线程具有最新评论显示/排序,就像您的标准讨论板的主题按最近活动列出一样。

我认为最好的方法是获取最新的评论,然后按内容类型和 object_pk 对它们进行排序或分组,以便每个相关内容对象只返回一个评论(最新的)。然后我可以使用该评论来获取我需要的所有信息,因此线程一词的使用很松散,因为我实际上只是在获取评论并遵循它的 pk。

模型是 django_threadedcomments,它扩展了 django_comments 并添加了一些用于树、孩子和父母的字段。

看法:

...这将返回所有评论,包括所有父级实例

...这是理想的

模板:

再次感谢!

0 投票
1 回答
66 浏览

sql - 有没有像 unique_together(max_occurences=3) 这样的东西?

我有一个模型:

现在,我需要将类似约束添加到上述模型中(这样每对(a,b)unique_together(a,b, max_occurences=3)最多可以有 3 个值,理想情况下,这 3 个值对于给定的(a, b)),但我不知道要寻找什么(如果这样的东西甚至存在于 MySQL 中)。有没有这样的事情,或者我必须做这样的事情:cc

-- 自己处理 c1..c3 ?

0 投票
2 回答
1536 浏览

django - Django ORM 误读 PostgreSQL 序列?

背景:为 Django 应用程序运行 PostgreSQL 数据库(Django 1.1.1、Python2.4、psycopg2 和 Postgres 8.1)我已经多次从 SQL 转储中恢复了数据库。每次我这样做然后尝试添加一个新行,无论是外壳、管理员还是站点前端,我都会收到此错误:

IntegrityError: duplicate key violates unique constraint "app_model_pkey"

数据转储很好,正在重置序列。但是如果我再次尝试添加该行,它就成功了!因此,我可以尝试在每张桌子上插入一个新行,然后一切似乎都变得平淡无奇。

问题:鉴于(1)SQL 转储很好并且 Postgres 正确读取它(根据之前的问题),并且(2)Django 的 ORM 似乎没有系统地获取下一个值失败,在这个特定实例中发生了什么?