考虑以下两个 Django 模型:
class Item(models.Model):
'''
Represents a single item.
'''
title = models.TextField()
class Information(models.Model):
'''
Stores information about an item.
'''
approved = models.BooleanField(default=False)
multipurpose_field = models.PositiveIntegerField()
由于模型的组织方式,我被迫使用PositiveIntegerField
inInformation
来引用 anItem
而不是使用ForeignKey
. 这使得查询更加困难。
我想选择设置为的Information
实例引用的所有项目。换句话说,我想这样做:approved
True
Information.objects.filter(approved=True)
...除了查询将返回实例Information
而不是Item
引用 in multipurpose_field
。
我可能可以用原始 SQL 做到这一点:
SELECT app_item.title FROM app_item
LEFT JOIN app_information
ON app_information.multipurpose_field = app_item.id
WHERE app_information.approved = 1
有没有办法在不使用原始 SQL(通常不是很便携)的情况下做到这一点?