Django的ORM非常的好用,特别是migration. 熟练了以后几乎不用运行SQL就可以管理数据库和无缝升级Schema. 可生活不只有网页啊,我想写个桌面程序,能不能也用它呢?答案当然是可以的。
得益于Django良好的代码结构,Django的orm并不需要任何网页相关的代码,那只需要模拟一个django项目的结构就可以了。
手动创建象下图的数据结构,熟悉django的同学就会发现很象django项目,这样就避免了可能会有的代码路径问题。
在manage.py中,我们要引入settings和必要的命令行支持去运行migration
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
settings.py 中加上数据库信息,和引入data这个app
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'sqlite.db',
}
}
INSTALLED_APPS = (
'data',
)
SECRET_KEY = 'REPLACE_ME'
models.py里创建我们需要的model即可
from django.db.models import Model, TextField, CharField
class Stock(Model):
name = CharField(max_length=20,default='')
stockid = CharField(max_length=20,default='')
main.py 就是我们真正的项目代码,但需要引入正确的django库
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
from data.models import *
s = Stock(name='test')
s.save()
first = Stock.objects.all()[0]
print(first.name)
最后别忘了运行makemigrations和migrate命令。再运行main.py, 真香!