Django ORM中包含两列的子查询



假设我有两个表。其中一个列出了客户拥有的许可证,每个许可证都有一个特定的版本和类型。另一个表有关于许可证的一般共享信息(例如名称,价格,持续时间),也按类型和版本列出。

我需要查询信息表中与给定客户拥有的许可证相关的任何行。在纯SQL中,这可以通过以下子查询完成:

select * from version_details where (version, type) in (select version, type from licenses where company_id = '6f65e5cc-cd1f-4888-a236-38295bae393a');

是否有办法在Django ORM中实现这一点?我知道如何使用子查询,但我不知道如何做一个包含两列的查询。

license = License.objects.get(company_id='6f65e5cc-cd1f-4888-a236-38295bae393a')
verson = VersionDetails.objects.filter(version=license.version, type=license.type)

最新更新