【发布时间】:2019-12-12 23:43:21
【问题描述】:
我正在尝试将以下 SQL 查询转换为单个 Django 查询,以尽量减少执行的 sql 查询的数量,但是除了使用 for 循环之外我无法做到这一点。
如果有人能给我提供预期的 Django 查询,我将不胜感激
SQL 查询:
select FUND_ID, REPORT_DATE, PURCHASE_NAV_PER_SHARE
FROM FUNDS_HISTORY
WHERE REPORT_DATE = (
SELECT Max(REPORT_DATE)
FROM FUNDS_HISTORY fund_history
where fund_history.FUND_ID = FUNDS_HISTORY.FUND_ID
)
型号:
class Fund(models.Model):
name_en = models.CharField(max_length=256, blank=True, null=True)
class History(models.Model):
fund = models.ForeignKey('funds.Fund', on_delete=models.CASCADE, blank=True, null=True)
purchase_nav_per_share = models.BigIntegerField(blank=True, null=True)
report_date = models.DateField(blank=True, null=True)
【问题讨论】:
-
请分享相关模型。
-
请edit您的问题。
标签: sql django python-3.x django-models