ORM对象关系映射:

时间:2022-12-10 17:54:22

django配置orm:

django使用mysql数据库:

  首先cmd创建库ORM对象关系映射:

settings配置mysql数据库:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "day43",
'HOST': "127.0.0.1",
'PORT': 3306,
'USER': "root",
'PASSWORD': "123",
}
}
使用pymysql替换mysqldb模块:
import pymysql
pymysql.install_as_MySQLdb()
创建表:
  类对应数据库中的表
  对象对应数据库中的数据行/记录
  属性对应字段
#定义User表、username是具体的字段、CharField是可变长的数据类型:
class User(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
执行数据库迁移的命令:
python manage.py makemigrations(检测已经注册的app)
ORM对象关系映射:

python manage.py migrate(真正的迁移命令:)

ORM对象关系映射:

database-database source-MY SQL:

ORM对象关系映射:

ORM对象关系映射:

app01和表名组合:

ORM对象关系映射:

双击表名增加数据并提交:

ORM对象关系映射:

所有的功能通过类操作:

models.类名.objects.all()--获取表里面所有的数据、获取的是列表
结果:<QuerySet [<User: User object>, <User: User object>, <User: User object>]> <class 'django.db.models.query.QuerySet'>
models.User.objects.get(username="alex",)--获取一条数据、获取的是对象、查询不到报错、查询多条数据报错
结果:User object <class 'app01.models.User'>
models.User.objects.filter(username="alex",password="dsb")--过滤获取对象列表
结果:<QuerySet [<User: User object>]> <class 'django.db.models.query.QuerySet'>