2012-04-07 5 views
0

Wie man Modellinstanzen von Filter erhält, sollten sie m2m sein bezogen auf eine gegebene Liste von Tags?Modellinstanz basierend auf seiner m2m-Beziehung zu einer Liste von Objekten erhalten

class Tag(models.Model):       
    name=models.CharField(max_length=20) 
    details=models.TextField(blank=True) 
    parenttag=models.ForeignKey('self',null=True,related_name="childtags") 

class Filter(models.Model): 
    tags=models.ManyToManyField(Tag, related_name='infilters') 
    parenttag = models.ForeignKey(Tag, related_name = 'child_filters') 

Das muss eine relativ einfache Frage sein, aber ich bekam keine Antwort auf Google.

Antwort

0

Wenn Sie eine queryset von Tags haben und Sie die Filter Objekte erhalten, die ihnen in Zusammenhang stehen könnten Sie the in query lookup verwenden:

Filter.objects.filter(tags__id__in=tags.values_list('id')) 
+0

Dies liefert alle Filterobjekte, die auf eine Teilmenge von Tags verwandt sind, aber ich will nur die Objekte, die alle genannten Tags enthalten. Wie ist das gemacht? @Timmy –