Error en Django Admin al buscar: Related Field has invalid lookup: icontains
mayo 24, 2010 at 5:20 pm | Blog, Programación | No comment
Mientras buscaba en un gran listado de productos desde la administración de django me he topado con el siguiente error:
Related Field has invalid lookup: icontains
A la postre resulta que el problema venía por cómo estaba definida la clase de administración del modelo:
class ProductAdmin(admin.ModelAdmin):
# sets values for how the admin site lists your products
list_display = ('name', 'price', 'brand', 'stock', 'is_pack', 'created_at', 'updated_at',)
...
search_fields = ['name', 'categories', 'brand', 'internal_reference', 'description']
...
Y es que ‘categories’ es una clave externa (ForeignKey) y por eso hay que definir sobre qué campo asociado se buscará, se soluciona, por ejemplo, con:
search_fields = ['name', 'categories__name', 'brand', 'internal_reference', 'description']
Entradas similares:
- Django y error No module named models
Esta mañana estaba refactorizando un poco el código de la aplicación de tiendas antes de subirlo al repositorio de un cliente y me he encontrado con el error que describe... - Django: Flatpages devuelven error 404
Los últimos proyectos en los que estoy trabajando van sobre una plataforma de comercio electrónico. Como tal, a la hora de mostrar errores a los visitantes/clientes, es importante no desconcertarlos...