学习django 中的 orm 的时候,可以把一对多,多对多,分为正向和反向查找两种方式。 正向查找:ForeignKey在 UserInfo 表中,如果从 UserInfo 表开始向其他的表进行查询,这个就是正向操作,反之如果从 UserType 表去查询其他的表这个就是反向操作。 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表)...
Django ORM 反向查询一/一对多反向查询 - 先定义两个模型,一个是A,一个是B,是一对多的类型。 class A(models.Model): name= models.CharField('名称', max_length=32) class B(models.Model): a= models.ForeignKey(A, verbose_name='A类',related_name = "test") name = models.CharField('称呼',...
1)一对多查询 2)一对一查询 3)多对多查询 正向查询:通过关联属性查询属于正向查询,正向查询按字段 反向查询:按表名小写或者related_name。其实也就是定义了related_name就使用related_name,没有定义就使用默认的 “表名小写”或“表名小写_set”。 注意: 一对一反向查询不需要_set,一对多和多对多这样查出来是...
# 基于双下划线的跨表查询 正向查询:filter里面直接写条件,查到现表,values里面直接写代表本表数据,点别的表加双下划线代表别的表的数据,连表双下划线加连表,就可以跨两个表查询 反向查询:filter里面做文章:支持values里面的查询方式 # 1.查询jason的手机号和作者姓名 #res=models.Author.objects.filter(name='j...
首先在理解ORM的时候,我们可以把一对多、多对多 分为正向和反向! 什么是正向呢?看下面的代码! classUserType(models.Model): caption = models.CharField(max_length=32)classUserInfo(models.Model): user_type = models.ForeignKey(UserType) username = models.CharField(max_length=32) ...
Django model ORM数据表相关操作 分析思路,创建数据表 对于表操作,表之间的关联关系,必须理解他们之间的关系,对于编程很重要。可以看看映射关系、外键和relationship查询 ,至少明白外键相关基本知识。 下面是简单的demo 1.创建数据模型 models.py 文件, ...
反向查找 通过主机ip查找管理员的操作就是反向查找了。反向查找的方式也和一对多反向查找一样 代码如下: # coding:utf-8fromdjango.shortcutsimportrender,HttpResponsefromapp01importmodels# Create your views here.defm2m(request):# 获取唯一的一行数据对象host_obj=models.Host.objects.get(ip='4.4.4.4')# 通...
Django 的 ORM(对象关系映射)是其最强大的功能之一,它使得数据库操作变得直观和简洁。在复杂的数据库结构中,外键(Foreign Key)的使用及其对应的反向查询是 Django 开发中不可或缺的部分。本文将详细介绍如何在 Django 中利用外键进行数据查询以及执行反向查询。
反查 b_id=A.objects.get(id=1).a.all().values()idb=A.objects.filter(id=1).values('a__idb')这里的 a ☞ related_name='a'没有related_name属性时 b_id=A.objects.get(id=1).b_set.all().values()采用类名小写_set的方式