zoukankan      html  css  js  c++  java
  • Django 的orm模型

    Django 的orm模型

    配置方法

    a. 需要创建一个数据库
    b. settings中配置连接:
    			DATABASES = {
    				# 'default': {
    				#     'ENGINE': 'django.db.backends.sqlite3', ### 非常小型的文件数据库
    				#     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    				# }
    
    				'default': {
    					'ENGINE': 'django.db.backends.mysql',
    					'NAME': 'test',  ## 数据库名称
    					'USER': 'root',
    					'PASSWORD': '',  ## 安装 mysql 数据库时,输入的 root 用户的密码
    					'HOST': '127.0.0.1',
    				}
    			}
    		
    c. 在对应的app中的__init__文件下面:
    			import pymysql
    			pymysql.install_as_MySQLdb()
    		
    d. INSTALLED_APPS = [
    				'django.contrib.admin',
    				'django.contrib.auth',
    				'django.contrib.contenttypes',
    				'django.contrib.sessions',
    				'django.contrib.messages',
    				'django.contrib.staticfiles',
    				'app01',
    				'classes'
    			]
    

    orm的增删改查

    1.创建表
    from django.db import models
    
    			# Create your models here.
    			### 一个类对应一张表
    			class UserInfo(models.Model):
    				id = models.AutoField(primary_key=True)
    				name = models.CharField(max_length=32, null=True)
    				age = models.CharField(max_length=32, null=True)
    	
    			将类转换成实际的表:
    				
    				python manage.py  makemigrations  ### 生成迁移文件
    				python manage.py  migrate   ### 生成实际的表
    2.单表查询
    
    a.正常模式查询
    from app1 import models
    res = models.user表.objectsa.all()
    for item in res:
        print(item.name)
        print(item.age)
     #返回的是一个 对象,可以用for循环取值
    b.通过values
    res = models.user.objects.values('user','age')   #返回的是一个[{'user':'egg','age':18}]
    res = models.user.objects.values_listr('user','age') #返回的是ige[(值,值)]
    
    c. first
    
    d.双下划线
    e.增加数据 create
    f.删除 delete 
    g.更新 update 
    h.条件判断 filter
    
  • 相关阅读:
    模板语法 DTL(Django Template Language )
    django基础
    day1,基本标签总结
    聚合函数
    day1
    day 3 定时任务
    day 4 tar
    day 6
    day1 mysql
    day 6
  • 原文地址:https://www.cnblogs.com/bladecheng/p/11349455.html
Copyright © 2011-2022 走看看