Dados los siguientes modelos:Django: Filtrado en el objeto relacionado, la eliminación de duplicados de los resultados
class Blog(models.Model):
name = models.CharField()
class Entry(models.Model):
blog = models.ForeignKey(Blog)
content = models.CharField()
Estoy buscando para pasar el siguiente para 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 está faltando una forma más sencilla de pasar la lista de coincidencias a las plantillas?
Tengo esencialmente el mismo problema (pero más obvio). ¿POR QUÉ HAY DUPLICADOS EN PRIMER LUGAR? ¿No se supone que 'filtro 'RESTRINGE el conjunto? Creo que es un error en django, ¿no? Es algo así como https://code.djangoproject.com/ticket/12625 – osa