【发布时间】:2021-09-23 02:07:42
【问题描述】:
我有这个模型:
class Content(models.Model):
id = models.CharField(max_length=20, null=False, blank=False, primary_key=True, unique=True)
class File(models.Model):
id = models.CharField(max_length=21, null=False, blank=False,
primary_key=True, unique=True)
id_content = models.ForeignKey(Content, db_column="id_content",
on_delete=models.CASCADE)
我想选择id 以及与此id 具有相同外键的其他文件的计数。我真的不知道在filter、extra 等内部的何处定义此类查询。
我之前在这个 MySQL 查询中做过这个,但我正在寻找一个 Django 模型解决方案:
SELECT
f1.`id` AS id,
(SELECT COUNT(f2.`id_content`)
FROM `file` AS f2 WHERE f2.`id_content` = f1.`id_content`) AS total
FROM
`file` AS f1;
【问题讨论】:
-
你目前有什么?
id或File对象? -
目前,我还没有建立任何语句,等待查询计算相同的外键。目前,我只有这个:
File.objects.all().values("id")
标签: python mysql django django-models django-orm