我有對象這樣的:如何爲多對多過濾包含對象
class Pencil(models.Model):
color = models.CharField(max_length=20, unique=True)
class Box(models.Model):
pencils = models.ManyToManyField(Pencil)
name = models.CharField(max_length=50)
讓我們說,我有一個藍色鉛筆:
pencil = Pencil.objects.create(color='blue')
,然後我創建盒的一些實例類。然後我的名字
boxes = Box.objects.filter(name__startswith='Big')
做一些過濾我怎樣才能進一步篩選得到的只有有名字從「大」開始,並且有藍色鉛筆盒?我不能做像pencil.box_set.all()
之類的東西,因爲我已經對盒子做了一些過濾。
不能這樣做以後盒過濾,如:'pencil.box_set。濾波器(name__startswith = '大')'?看起來最簡單。 –
這只是一個例子。其實我有更復雜的過濾和不,不幸的是我不能這樣做。 –