Django从命令行运行models.py

Django从命令行运行models.py,django,django-models,Django,Django Models,我想知道如何在Django之外练习模型 manage.pycontrol i、 e.鉴于以下教程部分的组合,我如何才能只使用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')

我想知道如何在Django之外练习模型
manage.py
control

i、 e.鉴于以下教程部分的组合,我如何才能只使用
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\u SETTINGS\u 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

无需编写管理脚本。

从项目根目录运行此命令:-它可以工作:D

import os

import sys

from django.conf import settings
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)) + '/../')

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 = #app_name
你的第二节课


从项目根目录运行此命令:-它可以工作:D

import os

import sys

from django.conf import settings
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)) + '/../')

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 = #app_name
你的第二节课


等待您试图告诉Django在设置文件中的何处找到设置文件?你到底是怎么想的?是吗?我交替使用了这两种方法,但我没有说清楚。独立脚本可能有用,我必须仔细阅读。等等。。。您试图告诉Django在设置文件中的何处找到设置文件?你到底是怎么想的?是吗?我交替使用了这两种方法,但我没有说清楚。独立脚本可能很有用,我必须仔细阅读。