Мне было интересно, как можно использовать модели вне Django manage.py
.Django run models.py from command line
т. Е. Учитывая следующую комбинацию частей учебника, как я смогу только python models.py
.
# models.py
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
if __name__ == "__main__":
from polls.models import Poll, Choice
print Poll.objects.all()
import datetime
p = Poll(question="What's up?", pub_date=datetime.datetime.now())
p.save()
print p.id
print p.question
print p.pub_date
p.pub_date = datetime.datetime(2007, 4, 1, 0, 0)
p.save()
print Poll.objects.all()
Я попытался создать os.environ['DJANGO_SETTINGS_MODULE'] = ...
в мой файл настроек, ни радости. , а затем изменили, что будет это в верхней
import imp
imp.find_module('settings') # Assumed to be in the same directory.
from django.core.management import setup_environ
import settings
setup_environ(settings)
, но безрезультатно.
Любые идеи были бы благодарны полученному, это кажется типичным прецедентом.
Я понимаю, что Django имеет большую экосистему за ним, но я ожидал, что некоторые формы:
set-up-env
do-stuff
без необходимости писать сценарии чесотки.
http://www.b-list.org/weblog/2007/ sep/22/standalone-django-scripts/ –
Подождите ... вы попытались рассказать Django, где найти файл настроек * в файле настроек *? Как именно вы ожидали, что это сработает? –
Я? Я чередовал два подхода, но я не сделал этого ясно. – reviver