On Sep 17, 10:41 pm, Eric Abrahamsen <[EMAIL PROTECTED]> wrote: > On Sep 17, 2008, at 11:45 PM, Mathieu Leplatre wrote: > > > > > > > Hi all, > > > I am starting a new thread, the first one became off-topic (http:// > > groups.google.com/group/django-users/browse_thread/thread/ > > 34b501d2d1f88496/f8a5d5ef5aeab62a) > > > I want to do a simple external script that just relies on django's > > ORM. > > So I did a single file testdjango.py : > > ------ > > import sys, datetime > > > from django.conf import settings > > settings.configure( DATABASE_ENGINE = "sqlite3", > > DATABASE_NAME = "./testbase.db", > > INSTALLED_APPS = ('polls')) > > There's a common gotcha related to Python tuples – tuple elements need > to be separated by commas, even if there's only one element. > INSTALLED_APPS = ('polls',) will do what you want. Right now, the > parentheses are being interpreted as grouping a single expression, and > when the code runs "for app in INSTALLED_APPS" it iterates over the > characters in the string 'polls', instead of the strings in the tuple. > > Hope that helps, > Eric > > > > > from django.db import models > > class Poll(models.Model): > > question = models.CharField(max_length=200) > > pub_date = models.DateTimeField('date published') > > class Meta: > > app_label = "polls" > > > # Create sqlite database : > > from django.core.management import call_command > > call_command('syncdb') > > ------ > > > I have an error about app_label : > > Error: No module named p (first label of my app label) > > > I tried verbosity=2 and DEBUG=True, but I don't get more information. > > > If I put my script in a module and remove Meta : > > File "[...]/django/db/models/base.py", line 51, in __new__ > > kwargs = {"app_label": model_module.__name__.split('.')[-2]} > > IndexError: list index out of range > > > Thanks for your comments !
Thanks Eric, that did part of the trick ! I had to do create a module to put my models : -- polls `-- __init__.py `-- models.py -- testdjango.py with models just containing : ------ from django.db import models class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Meta: app_label = "polls" ------ and testdjango.py having : ------ import datetime from django.conf import settings settings.configure( DATABASE_ENGINE = "sqlite3", DATABASE_NAME = "./testbase.db", INSTALLED_APPS = ('polls',)) from django.core.management import call_command call_command('syncdb', verbosity=2) from polls.models import Poll p = Poll(question="What's up?", pub_date=datetime.datetime.now()) p.save() ------ It works, but I would love having everything together. It does not really matter though, I am still learning. Thanks again. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---