Escribí esta funcion en un utils.py situado en la direcroty aplicación:Error de importación de Django models.py
from bm.bmApp.models import Client
def get_client(user):
try:
client = Client.objects.get(username=user.username)
except Client.DoesNotExist:
print "User Does not Exist"
return None
else:
return client
def to_safe_uppercase(string):
if string is None:
return ''
return string.upper()
A continuación, cuando se utiliza la función de to_safe_uppercase en mi archivo models.py, mediante su importación en de esta manera:
from bm.bmApp.utils import to_safe_uppercase
me dio el error de pitón:
from bm.bmApp.utils import to_safe_uppercase
ImportError: cannot import name to_safe_uppercase
tengo la solución para este problema cuando cambio t que importar declaración para:
from bm.bmApp.utils import *
pero no puedo entender por qué es esto, ¿por qué al importar la función específica que me dieron el error?
Esto no debería suceder. Sospecho que hay algo más en juego. – Marcin
desafortunadamente, django detecta de manera predeterminada ImportErrors y los reemplaza con este mensaje de error. intente parchear django, de modo que le proporcione la trazabilidad, esto debería apuntar al problema. Sospecho importaciones cíclicas o algo así. – ch3ka
@ ch3ka parches django no es una gran idea ... también está obteniendo el rastreo de python ya. Ha pegado una parte en la pregunta – Jiaaro