Hello, Sorry, I forgot that relative imports don’t work in standalone scripts, just modules. In this case, yes, you should go on with the original import line of yours, and modify the loading path. However, if you want to use your models outside of Django, that is 1) pretty much unsupported and 2) you must initialize your app (I hope someone can point to a document that shows how; I have no knowledge on this. I guess you will have to mess around with django.apps).
Well, all this is unless you create a django-admin command, which will do all this for you (the application/model initialization). When you invoke a command like “python manage.py migrate”, all your apps in INSTALLED_APPS get loaded, and thus, initialized. After that, in the command’s handle() method, you can do whatever you want. Also another thing you win is that the maintenance scripts will be actually integrated into your application and you can even write tests for them. Best, Gergely 2015-06-07 15:18 GMT+02:00 Oscar Buijten <[email protected]>: > Thanks Gergely! :-) > > I followed your suggestions and it does seem to improve behaviour, > however, I now get a new error... > > ---------------------- snip ---------------------- > Traceback (most recent call last): > File "historic_data_collector.py", line 4, in <module> > from .models import MyichiTickers > ValueError: Attempted relative import in non-package > ---------------------- snip ---------------------- > > I've done a quick google on it but didn't see anything that would help me > out. > Any suggestions? > > Also, I had a look at your suggestion to create a django-admin command > last night (but ran into similar issues). > Besides a solution in itself would you mind giving some feedback on why > that would be better? I didn't get that (yet). > > FYI: there are several scripts running on regular interval updating data > in a database that the web application then uses to show to the end user. I > now just am converting to python/django > > Thanks again, > Oscar > > > > Le dimanche 7 juin 2015 14:26:39 UTC+2, Oscar Buijten a écrit : >> >> Hi There, >> >> For various reasons I recently started efforts to covert an existing .php >> application to pyhton + django. >> There are quite a few scripts that are executed through cron and so from >> the command line while coding. >> >> I did find some info on how to setup the start of the script, but keep >> running into an error I haven't been able to resolve so far. >> >> Using Python 2.7.x and django 1.8.x + postresql >> >> Script is starting with this: >> >> ---------------------- snip ---------------------- >> import os,sys >> sys.path.append('/home/oscar/django/trading/myichimoku') >> os.environ['DJANGO_SETTINGS_MODULE']='myichimoku.settings' >> from models import MyichiTickers >> ---------------------- snip ---------------------- >> >> The script lives in /home/oscar/django/trading/myichimoku/data in which >> the models.py lives as well >> >> The error I get: >> >> ---------------------- snip ---------------------- >> Traceback (most recent call last): >> File "historic_data_collector.py", line 4, in <module> >> from models import MyichiTickers >> File "/home/oscar/django/trading/myichimoku/data/models.py", line 4, in >> <module> >> class AuthGroup(models.Model): >> File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", >> line 131, in __new__ >> 'app.' % (new_class.__name__, model_module.__name__) >> django.core.exceptions.ImproperlyConfigured: Unable to detect the app >> label for model "AuthGroup." Ensure that its module, "models", is located >> inside an installed app. >> ---------------------- snip ---------------------- >> >> AuthGroup is the 1st table class in models.py >> >> My settings.py lives in: /home/oscar/django/trading/myichimoku/myichimoku/ >> >> Here a snippet from the file: >> ---------------------- snip ---------------------- >> # Application definition >> >> INSTALLED_APPS = ( >> 'django.contrib.admin', >> 'django.contrib.auth', >> 'django.contrib.contenttypes', >> 'django.contrib.sessions', >> 'django.contrib.messages', >> 'django.contrib.staticfiles', >> 'data', >> ) >> ---------------------- snip ---------------------- >> >> >> So the question is: how can I ensure to execute this script from the >> command line with something like: python mycoolscript.py ? >> >> Any help greatly appreciated. >> >> Thanks! >> Oscar >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/c1c6c75f-28c1-46b0-9b79-581edd7cd17e%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/c1c6c75f-28c1-46b0-9b79-581edd7cd17e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACczBU%2BYqp5d65Vx3Yyg3v2bZnvST%2B0eG3crf%2B_NM2vBmna41g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

