Django: filtrando el objeto relacionado, eliminando duplicados del resultado
Dados los siguientes modelos:
class Blog(models.Model):
name = models.CharField()
class Entry(models.Model):
blog = models.ForeignKey(Blog)
content = models.CharField()
Estoy buscando pasar lo siguiente a una plantilla:
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}
Sin embargo, "Blog.objects.filter (...)" devuelve el mismo objeto de Blog varias veces si se encuentra más de una entrada coincidente.
¿Cómo se eliminan los duplicados? O mejor aún, ¿me falta una forma más sencilla de pasar la lista de coincidencias a las plantillas?