//barrabarra

JAVIER ROMERO
Programación web y escritorio
 

Django y error No module named models

mayo 27, 2010 at 9:19 am | Blog, Programación | 1 comment

 

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 el título y que me ha traído de cabeza toda la mañana.

Uno de los cambios que estaba haciendo al código era sustituir líneas del tipo:
from tienda.checkout.models import *
por
from checkout.models import *
para mejorar la portabilidad de las aplicaciones, pero a raíz de eso el sitio dejó de funcionar y lo único que recibía era ese mensaje de error.

A la postre resulta que tenía una estructura de directorios y ficheros tal que así:
cart\
   __init__.py
   admin.py
   models.py
   cart.py
   views.py
checkout\
   __init__.py
   admin.py
   models.py
   checkout.py
   views.py

etc.

El problema ocurría cuando python interpretaba los ficheros cart.py y checkout.py (entre otros) e intentaba luego buscar modelos en ellos al tener el mismo nombre que el directorio en el que se encuentran.

La solución una vez sabido esto fué sencilla, cambiar los nombres por cart_functions.py y checkout_functions.py a los archivos y en todos aquellos lugares en los que se usaban.



<< Volver al Blog Comentar la entrada

 

Un comentario en “Django y error No module named models”

  1. raimon dice:

    Gracies! me ha salvado 4 horas que no entendia nada el motivo! Después de 2 años y siempre con debian y ubuntu, no me había encontrado con esto. Hoy con un CentOS y esta es la solución! no duplicar nombre de ficheros con el APP.

    En en mi caso era con templatetags

Deja tu comentario

Categorias:

Archivo: