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]
    
  • 相关阅读:
    hdu1290献给杭电五十周年校庆的礼物
    hdu1181(变形课)
    Flex结合java实现一个登录功能
    MyEclipse安装spket插件
    线程安全的理解
    很实用的一个ext表格,具有很好的分页功能。
    tomcat配置数据源
    extanychart柱状图呈现取自数据库中的数据
    extanychart饼图呈现取自数据库中的数据
    oracle实现分页总结
  • 原文地址:https://www.cnblogs.com/yunweixiaoxuesheng/p/7804106.html
Copyright © 2011-2022 走看看