Angesichts der folgenden Modelle:Django: Filtern auf dem verwandten Objekt, das Entfernen von Duplikaten aus dem Ergebnis
class Blog(models.Model):
name = models.CharField()
class Entry(models.Model):
blog = models.ForeignKey(Blog)
content = models.CharField()
Ich suche folgendes Vorlage weitergeben müssen:
blogs = Blog.objects.filter(entry__content__contains = 'foo')
result = [(blog, blog.entry_set.filter(content__contains = 'foo'))
for blog in blogs]
render_to_response('my.tmpl', {'result': result}
jedoch „Blog .objects.filter (...) "gibt dasselbe Blog-Objekt mehrmals zurück, wenn mehr als ein übereinstimmender Eintrag gefunden wird.
Wie entfernen Sie die Duplikate? Oder besser noch, fehlt mir eine einfachere Möglichkeit, die Liste der Treffer an die Vorlagen zu übergeben?
Ich habe im Wesentlichen das gleiche (aber offensichtlicher) Problem. WARUM SIND DIE DOPPELTEN VORTEILE? Soll 'filter' nicht das Set EINSCHRÄNKEN? Ich denke, es ist ein Fehler im Django, oder? Es ist ein bisschen wie https://code.djangoproject.com/ticket/12625 – osa