标签: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