我在Django之外使用Django ORM层。该项目是一个使用cusotm内部构建框架的web应用程序。
现在,我可以将Django ORM设置为独立运行,但我有点担心连接管理。我在SO上读过,确实,Django在每个请求的开始和结束时都会做一些特殊的连接处理。来自
# Register an event that closes the database connection
# when a Django request is finished.
def close_connection(**kwargs):
for conn in connections.all():
可以为django ORM创建的join语句添加额外的条件吗?
我在SQL中需要的是
'SELECT "post"."id", COUNT("watchlist"."id") FROM "post"
LEFT OUTER JOIN "watchlist"
ON ("post"."id" = "watchlist"."post_id" AND "watchlist"."user_id"
我们使用Django和它的ORM连接底层的PostgreSQL数据库,并希望扩展数据模型和技术栈来存储大量的时间序列数据(~5 million entries per day )。
我发现的最接近的问题是和,它们建议将Django与TimescaleDB或InfluxDB等数据库结合起来。但是他创建了与Django内置的ORM并行的结构,因此看起来并不简单。
我们如何处理大量的时间序列数据,同时保持或真正接近Django的ORM?
任何关于已证实的技术栈和实现模式的提示都是欢迎的!
我使用的是MySQL,我有两个模式,我必须在多个模式()上执行一个连接,正如您可能知道的那样,在Django ORM中不支持。
因此,对于此场景,这是最简化的SQL查询。
SELECT * FROM db1.a AS a
JOIN db2.b AS b
ON b.some_id = a.id
WHERE a.name = 'localhost'
DJANGO ORM
现在,如果我使用Django ORM,我将不得不这样做
a_obj = ModelA.objects.filter(name='localhost')
ModelB.objects.filter(
我正在尝试执行一个Django ORM查询,其中包含一个LEFT JOIN ON (condition) AND (condition)。但是我不知道如何做额外的AND condition,用很长很长的一段路将加入抛出。
使用第二个条件添加Django过滤器没有帮助--它在结尾处是WHERE子句,而不是JOIN中的AND子句。
在ORM中是否可以在条件和条件上连接,还是应该只使用SQL语句?如果可能的话,你是怎么做的?
值得注意的是,这是我正试图转换为Django的SQL查询:
SELECT
`editions_edition`.`name` AS edition,
etc
FROM
我读过姜戈的。
但它没有提供如何检索聚合字段和其他相关字段的示例。
当然也不是表连接的例子。
我有一个想要在Django ORM中工作的查询。
SELECT SUM(pc.count), p.name, p.art_number from
packagecontent pc inner join
product p
on pc.product_id = p.id inner join
package pack
on pc.package_id = pack.id
where pack.pallet_id is not null group by p.id;
我如何使用Dja
让我们假设我有以下模型:
class Position(models.Model):
name = models.CharField()
class PositionStats(models.Model):
position = models.ForeignKey(Position)
averageYards = models.CharField()
averageCatches = models.CharField()
class PlayerStats(models.Model):
player = models.ForeignKey(Playe
我试图使用Django ORM执行以下查询:
SELECT object_repr, content_type_id, COUNT(object_repr)
FROM django_admin_log GROUP BY object_repr ORDER BY COUNT(object_repr);
我最近得到的是:
LogEntry.objects.values('object_repr', 'content_type__id')\
.annotate(num_logs=Count('object_repr')
在我的Django项目中,我有以下模型:
class Examine(models.Model):
name = models.CharField(max_length=45)
date = models.DateField(blank=True, null=True)
我的目标是想出一个查询集,它可以让我呈现一个包含日期列表和日期检查(如果有的话)的模板。例如,我在DB中有三个检查:
Math - 01 January 2019,
History - 03 January 2019
Geoghraphy - 03 January 2019
我对1月1日至
使用Django ORM是否可以使用默认table1.id = table2.fk之外的其他条件执行select_related (左连接
使用示例模型:
class Author(models.Model):
name = models.TextField()
age = models.IntegerField()
class Book(models.Model):
title = models.TextField()
和原始sql
SELECT 'Book'.*, 'Author'.'name' FROM &