django-连接mysql数据库-进行增删改查操作
首先确保你有一个可以用于连接的数据库。这里是用本地的数据库演示。
先去项目的settings.py文件里面找到databases将其注释掉(默认是的sqlite3)。

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'autodb',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
然后注册一下,进行数据库操作千万记得注册 ,不然可能遇到No changes detected问题

安装一下pymysql: pip install pymysql
在主项目的__init__.py下引入:

import pymysql
pymysql.install_as_MySQLdb()
不导入可能出现:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.问题
最后在modules.py里面写如下代码,创建表

在命令行输入:
python manage.py makemigrations
python manage.py migrate

安装都ok后,去可以数据库查看userinfo表已经创建成功:

———————————————————————————————————————————
数据增删改查操作:
增加:

在views.py中添加一个orm方法,并在urls里面注册一下

运行一下,去数据库中查看。

修改:

将id=1的密码改为456.

删除:

删除id=1的那条数据。

也可以使用all删除所有,userInfo.objects.all().delete()
查询:

完整代码如下:
def orm(request):
# userInfo.objects.create(name="lufei", pswd="123")
# userInfo.objects.filter(id=1).update(pswd="456")
# userInfo.objects.filter(id=1).delete()
# userInfo.objects.all().delete()#删除所有
query_set = userInfo.objects.all()#查询所有数据相当于seleclt *
for item in query_set:
print(item.name, item.pswd)
query_set=userInfo.objects.filter(id=1)#查询id=1的数据
query_set=userInfo.objects.filter(pswd="123").first()#查询第一条数据
return HttpResponse("操作成功")
补充:数据库的一些操作

代码如下:
class department(models.Model):
depart = models.CharField(max_length=32)
class userInfo(models.Model):
# ID默认自增主键不用写
id = models.BigAutoField(verbose_name="id", primary_key=True)
name = models.CharField(verbose_name="名字", max_length=32)
age = models.IntegerField()
# 最长10位数,小数保留两位,默认是0
money = models.DecimalField(max_digits=10, decimal_places=2, default=0)
create_time = models.DateTimeField()
# 限制输入1为男,0为女
sex_choice = (
(1, "男")
(0, "女")
)
sex = models.SmallIntegerField(choices=sex_choice)
# 约束 --生成的字段为guanlian_id
# to --关联的哪张表 , to_field -- 表中的哪一列
# 级联删除-department表的数据删除了,对应的userInfo表的使用department表中id属性的行也删除
guanlian = models.ForeignKey(to="userInfo", to_field="id", on_delete=models.CASCADE())
# 制空 null= True blank = True ---表示默认为空
guanlian = models.ForeignKey(to="userInfo", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)