以下是我要做的事 当然这会很慢,并且想知道是否有更好的方法。
class Foo(models.Model):
bars = generic.GenericRelation(Bar)
class Meta:
abstract = True
class Bar(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
invitation = generic.GenericForeignKey('content_type', 'object_id')
timestamp = models.DateTimeField(auto_now_add=True, db_index=True)
meat = models.ForeignKey(Jessy)
bars = Bar.objects.none()
for foo in Foo.objects.all():
bars = bars | Q(foo.bars.all())
bars.values('meat').order_by('timestamp'):
答案 0 :(得分:0)
你可以使用:
Bar.objects.filter(content_type=ContentType.objects.get_for_model(Foo), object_id__isnull=False).values('meat').order_by('timestamp')
这将查询已关联任何Bar
模型的所有Foo
个对象。