Django ORM创建数据库
Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
基本配置
一、创建django程序
- 终端命令:django-admin startproject sitename
- IDE创建Django程序时,本质上都是自动执行上述命令
其他常用命令:
python manage.py runserver 0.0.0.0
python manage.py startapp appname
python manage.py syncdb
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
二、程序目录
三、配置文件
1、数据库
settings配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db5', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '3306', } }
_init_.py
import pymysql pymysql.install_as_MySQLdb()
models.py 创建类
class UserInfo(models.Model): # """ 员工 """ nid=models.AutoField(primary_key=True) #自增列 int类型 username=models.CharField(max_length=32) #字符串类型 最大长度 password=models.CharField(max_length=64) #密码长度尽量写大 age=models.IntegerField(default=1) #如果需要在新加一列有数字的话 需要设置默认值为1 #ug_id ug=models.ForeignKey("UserGroup",null=True) #增加外键 部门表目前没有数据 可以为空 class UserGroup(models.Model): #必须要继承的 """ 部门 """ title=models.CharField(max_length=32)
settings.py注册上app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', ]
创建数据表
命令: python manage.py makemigrations python manage.py migrate
ORM操作表
# 增删该查 from app01 import models #新增 # models.UserGroup.objects.create(title="销售部") # models.UserInfo.objects.create(user="root",password='pwd',age=18,ug_id=1) #查找 all拿全部的 group_list=models.UserGroup.objects.all() #group_list QuerySet类型(列表) #QuerySet类型[obj,obj,obj] print(group_list) info_list=models.UserInfo.objects.all() print(info_list) #按照条件查询 filter (id=1) # group_list = models.UserGroup.objects.filter(id=1) # 神奇的双下划线(id__lg=1) id 大于1 # (id__lt=1) id 小于1 #删除 删除的时候先查询在进行删除 #models.UserGroup.objects.filter(id=2).delete() #更新 更新之前先进行查询 在更新 models.UserGroup.objects.filter(id=2).update(title="运营部")