标签:update 创建 密码 属性 导入 python3 too mys delete
""" 1、创建数据库 2、配置mysql的数据库链接 setting文件里的DATABASES设置为 DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘: ‘s8day61‘, ## 数据库名称 ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘123‘, ## 安装 mysql 数据库时,输入的 root 用户的密码 ‘HOST‘: ‘127.0.0.1‘, } 3、注册app 也是在settings文件中的INSTALLED_APPS 把你的app文件名加进去 4、需要把mysqldb设置为pymysql链接 python3中用的是pymysql python2中使用的是mysqldb 为了兼容,都改成pymysql app下的__init__文件 import pymysql pymysql.install_as_MySQLdb() 5、创建表(2个命令) python manage.py makemigrations python manage.py migrate """
# 先导入models文件 from class_app import models # 增 models.Classes.objects.create(name="xxx") # 增加会有一个返回值,这个返回值就是这次插入的对象 # 查 # 查出所有对象 ==> 列表里套对象 models.Classes.objects.all() # 查出单个对象 ==> 取第一个对象 models.Classes.objects.first() # 也可以 models.Classes.objects.all().first() # 过滤查询 models.Classes.objects.filter(name="xxx").all() # 删 models.Classes.objects.filter(name="xxx").delete() # 改 models.Classes.objects.filter(name="xxx").update(name="ooo") # 如果需要改的值很多,并且在一个字典里,也可以用**打散 models.Classes.objects.filter(name="xxx").update(**dic)
# 如果一张表和其他的表建有外键关系,那么从这张表查另一张表称为正查,反之称为反差 # 先建立两个外键关系的表 class Classes(models.Model): # 如果我们不设置一张表的id时,django会自动帮我创建一个自增的主键id name = models.CharField(max_length=32,null=True) class Students(models.Model): name = models.CharField(max_length=32,null=True) cid = models.ForeignKey("Classes",null=True) # 会自动帮我们和另一张表的主键建立外键关系 # 正查 for obj in students: print(obj.cid.name) # 可以直接通过对象点里面的属性就可以点出另一个类的对象,可以继续取值 # 反查 obj.student_set.all() # 就是查出所有的对象 # 还可以通过下划线直接取到另一张表的值 # values是取出括号里对应的值,通过列表里套字典的形式 # values_list 是取出括号里对应的值, 通过列表里套元组的形式 models.Classes.objects.values("id","name","cid__name").all()
# 查询时通过外键名__另一张表的名字 可以查到关联表的值 # eg: models.Classes.objects.values("id","name","cid__name").all() #这个cid__name可以查询到关联表对应的name # 查询时可以在filter中加入限制条件 __lt 代表小于 __gt代表大于 # eg: models.Classes.objects.filter(id__lt = 3).all() # id < 3 models.Classes.objects.filter(id__gte = 3).all() # id >= 3
标签:update 创建 密码 属性 导入 python3 too mys delete
原文地址:https://www.cnblogs.com/jixu/p/11192369.html