0

模型:

class Car(models.Model):
    ...

class CarInstance(models.Model):
    car =  models.ForeignKey(Car)

不能在另一个查询集中使用一个查询集吗?喜欢:

data1 = Car.objects.filter(id__in = [1,3,6])
data2 = CarInstance.objects.filter(car = data1)

我将来需要使用这两个查询集对象。Car 可以有几个 CarInstance 对象。我认为不可能像data2__data1.

并像这样循环:

car_list = []
for i in data1:
  car_list.append(i.id)
data2 = CarInstance.objects.filter(car__in = car_list)

看起来无效。谢谢。

4

2 回答 2

2

看起来你想这样做

data2 = CarInstance.objects.filter(car__id__in = [1,3,6])
于 2012-05-13T23:42:58.260 回答
1

如果您想从 data1 对象中获取 id,请使用:

data1_id = Car.objects.filter(id__in = [1,3,6]).values_list('id', flat=True)
于 2012-05-14T05:01:00.637 回答