variable template tag registered one not must library ifequal examples django django-models

template - inclusion tags django



Django: filtrado en propiedades de clave externa (2)

Intento filtrar una tabla en Django en función del valor de un campo particular de una clave externa.

Por ejemplo, tengo dos modelos:

# models.py class Asset(models.Model): name = models.TextField(max_length=150) project = models.ForeignKey(''Project'') class Project(models.Model): name = models.TextField(max_length=150)

Me gustaría filtrar mi lista de activos en función del nombre del proyecto asociado.

Actualmente estoy realizando dos consultas:

# views.py project_list = Project.objects.filter(name__contains="Foo") asset_list = Asset.objects.filter( desc__contains=filter, project__in=project_list).order_by(''desc'')

Me pregunto si hay una forma de especificar este tipo de filtrado en la consulta principal.


Esto ha sido posible desde que la rama queryset-refactor aterrizó antes de la 1.0. El boleto 4088 expuso el problema. Esto debería funcionar:

Asset.objects.filter( desc__contains=filter, project__name__contains="Foo").order_by("desc")

La documentación de Django Many-to-one tiene este y otros ejemplos de las siguientes claves foráneas que usan la API modelo.


Asset.objects.filter( project__name__contains="Foo" )