首页IT科技django与mysql数据库(django 的 ORM 单独使用 vkill’blog “技术本身没有太多价值,掌握了新的思考方式才是真的收获”)

django与mysql数据库(django 的 ORM 单独使用 vkill’blog “技术本身没有太多价值,掌握了新的思考方式才是真的收获”)

时间2025-05-05 04:13:23分类IT科技浏览3966
导读:到底啥时候使用呢,比如说我们开发网站时要写入基础数据这些的时候,用sql ? 太土了,还有关联表的数据sql可就麻烦了...

到底啥时候使用呢           ,比如说我们开发网站时要写入基础数据这些的时候                 ,用sql ? 太土了      ,还有关联表的数据sql可就麻烦了

好了      ,上代码

1           、不依赖 django project 单独使用

import os

from django.conf import settings

settings.configure(

#DATABASE_ENGINE = sqlite3,

#DATABASE_NAME= os.path.join( os.path.dirname(__file__), db\\sqlite3.db),

DATABASES = {

default: {

ENGINE: sqlite3,

NAME: os.path.join( os.path.dirname(__file__), db\\sqlite3.db),

}

}

)

from django.db import models

class Person(models.Model):

class Meta:

db_table = persons

app_label = test

created_at = models.DateTimeField(created_at, auto_now_add = True)

updated_at = models.DateTimeField(updated_at, auto_now = True)

name = models.CharField("name", max_length = 20)

age = models.IntegerField("age")

p = Person()

p.name = "a"

p.age = 111

p.save()

2                 、依赖django project                  ,其实就是使用了 django project 中的 settings 和 models            ,这个很像rails 中的seed      ,哈哈

注意哈                 ,下面代码中加 path 那段要理解下意思再加啊            ,不要乱加,我的seed.py位置在 #{django_project}/db/seed.py

import os

os.sys.path.append(os.path.join( os.path.dirname(__file__), ..)) #add project root directory to sys.path

import settings as project_settings

from django.conf import settings

settings.configure(

DATABASES = project_settings.DATABASES

)

from firstapp.models import *

p = Person()

p.name = "a"

p.age = 111

p.save()

3      、使用 manage.py db_seeds                  ,类似于 rails 中的 rake db:seed 那样                  ,呵呵,这个和2差不多           ,只不过是用了 django 的manage.py 来执行                  ,更django

1)写 command文件      ,lib/django13/management/commands/db_seeds.py 文件内容如下           ,注意这里把 lib/django13 看成是 app                  ,像 django/contrib/auth 那样      ,management/commands 这个目录结构是死的      ,django从每个app的这个目录下下找 *.py                  ,文件名 db_seeds 就是 manage.py db_seeds 这里的

from django.core.management.base import NoArgsCommand

import settings

import os

class Command(NoArgsCommand):

help = "exec db/seeds.py file for add master data."

def handle_noargs(self, **options):

for app in settings.INSTALLED_APPS:

try:

exec("from %s.models import *" % app)

except:

pass

execfile(os.path.join(os.path.dirname(settings.__file__), db/seeds.py))

2)settings.py 中 INSTALLED_APPS 里启用 lib.django13 这个app

INSTALLED_APPS = (

django.contrib.auth,

......

south,

lib.django13,

)

3)项目目录/db/seeds.py 内容如下

print User.objects.all()

Last modified by vkill on2011/05/27 11:03

声明:本站所有文章            ,如无特殊说明或标注      ,均为本站原创发布            。任何个人或组织                 ,在未征得本站同意时            ,禁止复制      、盗用                 、采集            、发布本站内容到任何网站      、书籍等各类媒体平台                 。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理     。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
鸿蒙系统怎么关闭充电语音播报(鸿蒙智能充电模式如何关闭?鸿蒙关闭智能充电模式教程) 用python创建字典(Python字典对象的创建(9种方式))