zoukankan      html  css  js  c++  java
  • 实用Django ORM实用操作方法

    1. all,values,values_list数据类型的获取
    models.xx.objects.all()			# 取到的是queryset的对象类型:[obj,obj,obj]
    models.xx.objects.values()		# 取到的是字典类型:[{'id':'1'},{'name':'wxp'},{...}]
    models.xx.objects.values_list() # 取到的是元祖类型:[(1,'wxp'),(...)]
    
    1. ForeignKey常用操作-表与表之间的关系和跨表操作
      B表的中的列?
      B表:id,name,fk_id
    class A(models.Model):
        name = models.CharField(...)
    class B(models.Model):
        name = models.CharField(...)
        fk = models.ForeignKey('A')
    b_list = models.B.objdecs.all()											# obj
    for item in b_list:
    	print(itme.id)
    	print(itme.name)
    	print(itme.fk_id)
    	print(itme.fk)
    	print(itme.fk.name)
    	print(itme.fk.id)
    b_list = models.B.objdecs.values('id','name','fk_id','fk__name',)		# dict
    for item in b_list:
    	print(itme['id'])
    	print(itme['name'])
    	print(itme['fk_id'])
    	print(itme['fk__name'])
    b_list = models.B.objdecs.values_list('id','name','fk_id','fk__name',)	# tuple
    for item in b_list:
    	print(itme[0])
    	print(itme[1])
    	print(itme[2])
    	print(itme[3])
    # 找A表中某人在B表中的所有数据
    models.B.objects.filter(fk__name='某人')
    
    1. ManyToMany常用操作
      B表中的列?
      B表:id,name
      ManyToManyField操作会自动生产第三张表,m字段用于对第三张表的操作
    class A(models.Model):
        name = models.CharField(...)
    class B(models.Model):
        name = models.CharField(...)
        m = ManyToManyField('A')
    # B表中的某人与A表中的某几个人创关系
    obj = models.B.objdecs.create(name='xxx')								# 在B表中创建数据
    obj.m.add(*[1,2,3])
    # or
    obj.m.add(1)
    obj.m.add(2)
    obj.m.add(3)
    # 查找B表中某人与A表中有关联的某几个人
    obj = models.B.objects.filter(name='xxx')
    obj.m.all()																# [A-obj,A-obj,A-obj]
    
  • 相关阅读:
    获取表信息(MSSQL)
    合并有数据的列
    isnull的使用方法
    查询SQLServer的启动时间
    查询数据库中有数据的表
    查询数据库中表使用的空间信息。
    SQL Server SA 密码丢失无法连接数据库怎么办?
    tensorflow 语法及 api 使用细节
    Python: PS 滤镜-- Fish lens
    中英文对照 —— 概念的图解
  • 原文地址:https://www.cnblogs.com/yunweixiaoxuesheng/p/7804106.html
Copyright © 2011-2022 走看看