Django 将两个没有外键的表连接到其他表 A类(基本): number=models.IntegerField(默认值=无) ... B类(基本类): head\u number=models.IntegerField(默认值=无) ...
有两个模型彼此没有关系,如何在django orm中用注释编写下面的查询Django 将两个没有外键的表连接到其他表 A类(基本): number=models.IntegerField(默认值=无) ... B类(基本类): head\u number=models.IntegerField(默认值=无) ...,django,django-models,django-orm,Django,Django Models,Django Orm,有两个模型彼此没有关系,如何在django orm中用注释编写下面的查询 Select * from A inner join B on A.number = B.head_number 我试过使用extra(),它可以工作,但我想使用annotate()。 它不能改变任何模式。 有什么办法吗?您可以使用字段查找进行筛选 A.objects.filter(number__in=B.objects.values_list('head_number', flat=True)) 此查询集B.obj
Select * from A
inner join B on A.number = B.head_number
我试过使用extra()
,它可以工作,但我想使用annotate()
。
它不能改变任何模式。
有什么办法吗?您可以使用字段查找进行筛选
A.objects.filter(number__in=B.objects.values_list('head_number', flat=True))
此查询集B.objects.values\u list(..)
将作为子选择语句(where子句中的子查询)进行计算