我使用Django 2.0.0并具有以下数据库结构:
class Project(models.Model):
name = models.CharField(_(u'Name'), max_length=32)
class Domain(models.Model):
project = models.ForeignKey('projects.Project', on_delete=models.CASCADE)
tool_result = GenericRelation('projects.ToolResult')
class ToolResult(models.Model):
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
我想基于content_type对象项目获取所有ToolResults过滤器。
ToolResult.objects.filter(content_type=ContentType.objects.get_for_model(Domain), content_object__project__in=[1, 2])
我试过这样但是没有用。我有大约500k域记录和3kk ToolResults记录。这使得迭代对象成为不可能。我该如何才能做到这一点?