django 数据库的相关操作

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'webdb',
        'USER':'root',
        'PASSWORD':'',
        'HOST':'localhost',
        'PORT':3306,

    }
}

还需要在__init__.py 里

import pymysql
pymysql.install_as_MySQLdb()

数据库的同步操作

1      ./manage.py makemigrations

作用:将每个应用下的models.py 文件生成一个数据库的中间文件,并将中间文件保存到 migrations 的目录中

2    ./manage.py migrate

作用:将每个应用下的migrations 目录的中间文件同步到数据库中

模型相关指令

1 版本切换指令 

python3 manage.py migrate 应用名称 版本号

2 通过数据库自动导出models类 (这个指令毛病太多,不建议使用)

python3 manage.py inspectdb > 文件名.py    但是经测试在mac 上执行报错  -bash: db.py: Permission denied ,不知道怎么解决

模型中的增删改查

1  增(方案一) 

Entry.objects.create(属性=值,属性=值)

返回值:创建好的实体对象

例如  

def add_views(request):
    # Entry.objects.create()
    obj = Author.objects.create(name='王老师',age=32,email='wang.qq.com')
    print(obj.id,obj.name,obj.age,obj.email)
    return HttpResponse("add ok")

方案二

创建一个Entry 对象,并通过save() 进行保存

obj = Author(name='各款健康',age=55,
             email='[email protected]')
obj.save()

方案三

  使用字典构建对象,并通过save() 进行保存

dic = {
    'name':'狗狗',
    'age':32,
    'email':'333.qq.com',
    'isActive':False
}

obj = Author(**dic)
obj.save()
发布了267 篇原创文章 · 获赞 36 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/qq_40270754/article/details/99441761