ORM操作
select * from tb where id > 1
# 对应关系
models.tb.objects.filter(id__gt=1)
models.tb.objects.filter(id=1)
models.tb.objects.filter(id__lt=1)
创建类
a. 先写类
from django.db import models
# app01_userinfo
class UserInfo(models.Model):
# id列,自增,主键
# 用户名列,字符串类型,指定长度
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)
b. 注册APP
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
c. 执行命令
python manage.py makemigrations
python manage.py migrate
d. ********** 注意 ***********
Django默认使用MySQLdb模块链接MySQL
主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
import pymysql
pymysql.install_as_MySQLdb()
或者参考https://blog.csdn.net/zhuisaozhang1292/article/details/89343064
利用ORM操作mysql实现用户登录 信息查看,修改 ,删除
源码:链接:https://pan.baidu.com/s/1Et9d5JCHqyIyr2nWKR0A6g
提取码:9srh
效果:
登录界面
————————————————————————————————————————————————————————
admin后台管理操作:
需要在对应app上加上这两个:
第二步:需要创建超级用户 python manage.py createsuperuser
第三步:进入登录界面
只在管理员对用户进行创建时 会依据数据库规则进行创建规则匹配,其他情况无效
如emailfield 需要按照邮箱规则创建
,否则会有错误提示
通过代码 创建数据库表时候的字段说明
字段的参数:
null -> db是否可以为空
default -> 默认值
primary_key -> 主键
db_column -> 列名
db_index -> 索引
unique -> 唯一索引
unique_for_date ->
unique_for_month
unique_for_year
auto_now -> 创建时,自动生成时间
auto_now_add -> 更新时,自动更新为当前时间
#这句操作不会让 数据库中的ctime自动更新
# obj = UserGroup.objects.filter(id=1).update(caption='CEO')
#这种操作方式才会让 数据库中的ctime自动更新(Django)规定的
# obj = UserGroup.objects.filter(id=1).first()
# obj.caption = "CEO"
# obj.save()
choices -> django admin中显示下拉框,避免连表查询(因为把数据放入了内存,没有放入表中)
blank -> django admin是否可以为空
verbose_name -> django admin显示字段中文 替换显示为中文
editable -> django admin是否可以被编辑
error_messages -> 错误信息欠
help_text -> django admin提示
validators -> django form ,自定义错误信息(欠)
创建 Django 用户:python manage.py createsuperuser
用于在django admin中用于提示选项
代码:
效果:
2. 根据类对数据库表中的数据进行各种操作
一对多:
a. 外检
b.
外键字段_id
c.
models.tb.object.create(name='root', user_group_id=1)
d.
userlist = models.tb.object.all()
for row in userlist:
row.id
row.user_group_id
row.user_group.caption