首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ReverseManyToOneDescriptor对象没有属性order_by django 2.1

ReverseManyToOneDescriptor是Django框架中的一个对象,它用于处理反向多对一关系(即ForeignKey字段)的查询和操作。在Django 2.1版本中,ReverseManyToOneDescriptor对象没有属性order_by。

order_by是Django中用于指定查询结果的排序方式的方法或属性,它可以用于查询集(QuerySet)或关联对象管理器(RelatedManager)上。然而,在ReverseManyToOneDescriptor对象上并没有提供order_by属性,因为反向多对一关系的查询通常是通过正向关系的字段进行排序。

在Django中,如果想要对反向多对一关系的查询结果进行排序,可以通过正向关系的字段来实现。例如,假设有两个模型A和B,其中B模型具有一个外键字段指向A模型,可以使用正向关系的字段来进行排序,如下所示:

代码语言:txt
复制
# models.py
class A(models.Model):
    pass

class B(models.Model):
    a = models.ForeignKey(A, on_delete=models.CASCADE)

# 查询B模型,并按照关联的A模型的某个字段进行排序
B.objects.order_by('a__field')

在上述示例中,通过在order_by方法中使用'a__field'来指定按照关联的A模型的field字段进行排序。

关于Django的ReverseManyToOneDescriptor对象和order_by方法的更多详细信息,可以参考腾讯云的Django文档:Django文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vue select当前value没有更新到vue对象属性

vue是一款轻量级的mvvm框架,追随了面向对象思想,使得实际操作变得方便,但是如果使用不当,将会面临着到处踩坑的危险,写这篇文章的目的是我遇到的这个问题在网上查了半天也没有发现解决方案...vue对象相关属性,奇怪的是当我使用jquery获取该select的val()方法获取的是最新的数据,那么问题就来了:为什么元素的值发生了变动却没有更新到vue对象相关属性?...value); }; this.on('change', this.listener); 看到了吧,只有select的change事件才会触发select元素的value值更新到vue对象相关属性...内容而采用默认第一项,所以如果用户选择select的其他项后再切回第一项就可以触发该事件完成vue对象属性变更。...我这里给出我的解决方案:在使用js代码追加内容到从select后,使用更改从select对应的vue对象属性来实现默认选择第一项。

2.7K20
  • django小技巧之html模板中调用对象属性对象的方法

    bpub_date = models.DateTimeField(db_column=’pub_date’) #定义字段名称为pub_date,默认字段名称就是类属性,即默认字段名称为bpub_date...–调用对象属性– {{hero.showname}}<!–调用对象的方法,但不能给方法传递参数– <!...–注释 #点号解析顺序: #1.先把hero作为字典,hname为键查找 #2.再把hero作为对象,hname为属性或方法查找 #3.最后把hero作为列表,hname为索引查找 — <...192.168.255.70:8000 报错:Error loading MySQLdb module: No module named ‘MySQLdb’ 解决:由于在python3版本上使用pymysql库,没有...pymysql pymysql.install_as_MySQLdb() 再次启动web服务成功;浏览器访问:http://192.168.255.70:8000/ 完成验收在html模板文件中调用对象属性对象的方法

    3.3K21

    Django篇(二)

    注意:我们在添加属性的时候如果影响了表结构,就需要迁移,default和blank不影响表结构。 更多模型字段,请参考Django官方文档。写的明明白白。...Q对象 以上我们都是单个条件进行查询,那如果多个条件呢? 我们可以在上面获取的对象再次进行筛选,也就是注意中说的那句话,但是很麻烦。 因此Django为我们提供了Q模块来帮助我们多条件查询。...~: 查询id不等于2的人 student.objects.filter(~Q(id=2)) F对象 多条件可以解决,那属性之间的比较怎么解决?...F对象 导入F对象: from django.db.models import F 查询id大于年龄(age)的人 student.objects.filter(id__gt=F('age')) 聚合函数...这个objects是Django帮我们自动生成的管理器对象。通过objects来帮助我们查询信息。

    1.4K20

    Django框架学习(四)

    参数中可以写查询条件 格式:属性名__条件名=值 1.3F对象 用于查询时字段之间的比较 from django.db.models import F 1.4Q对象 用于查询时条件之间的逻辑关系 from...order_by 1.7关联查询 1、查询和指定对象关联的数据(重点掌握) 由一查多:一对象.多类名小写__set.all() 由多查一:多对象.外键属性 2、通过模型类进行关联查询 查图书:一类.objects.get...|filter(多类名__字段__条件=值) 查英雄:多类.objects.filter(外键属性__字段__条件=值) 2.查询集 注意:对于queryset类的对象,可以继续调用之前的任何一个查询函数...all,filter,exclude,order_by这四个函数返回的是查询集对象 例如:查询id大于3的图书数量 BookInfo.objects.filter(id__gt=3).count() exists...True代表有,False代表没有

    1.5K41

    django 1.8 官方文档翻译: 2-5-4 聚合 (初稿)

    网站:http://python.usyiyi.cn/django/index.html 聚合 Django数据库抽象API描述了使用Django查询来增删查改单个对象的方法。...然而,你有时候会想要获取从一组对象导出的值或者是聚合一组对象。这份指南描述了通过Django查询来生成和返回聚合值的方法。 整篇指南我们都将引用以下模型。这些模型用来记录多个网上书店的库存。...要想弄清楚你的查询到底发生了什么,可以考虑检查你QuerySet的 query 属性。...在第一个查询中,注解在过滤器之前,所以过滤器对注解没有影响。 在第二个查询中,过滤器在注解之前,所以,在计算注解值时,过滤器就限制了参与运算的对象的范围。...与默认排序或order_by()交互 在查询集中的order_by() 部分(或是在模型中默认定义的排序项) 会在选择输出数据时被用到,即使这些字段没有在values() 调用中被指定。

    1.6K30

    Django相关知识点回顾

    失败并不可怕,如果你连面对的勇气都没有,那么你真的不配成功。从失败中汲取教训,寻找失败的原因,为成功做铺垫。你比别人承受的更多,你最后获得的成果越丰硕。...2.1HelloWorld程序 2.1.1视图函数的定义 注意点:函数设置形参request接收请求对象;返回相应对象HttpResponse。...Flask中request请求对象属性 Django中request请求对象属性 说明 args GET 查询字符串参数 form POST 请求体中的表单数据 data body 请求体中的原始...修改 查询对象->修改对象属性->对象.save() 或者: 模型类.objects.filter(...).update(...)...()过滤器调用聚合函数 排序: 排序默认是升序,降序在排序字段前加- 使用order_by 关联查询: 1.查询和指定对象关联的数据 # 由1查多 一对象.多类名小写_set.all() 例:book.heroinfo_set.all

    10K51

    Django之ORM

    Django中具体的对应方式为: 类名对应数据库中的表名 类名对应数据库中的表名 类属性对应数据库里的字段 类实例对应数据库表里的一行数据 类实例对象属性对应这行中的字段的值 一.数据库的连接 Django...官方文档https://docs.djangoproject.com/en/2.1/ref/models/fields/ 3.表与表之间的关联 1.外键 即一对多的关系 school=models.ForeignKey...1,2,3])# set里是一个列表 先删除,再添加 4.查询 1.查询的有关函数 filter(**kwargs)筛选 all()所有结果 get(**kwargs)得到一个结果,如果结果多于一个或没有都会报错...的实例化对象,而是一个可迭代的字典序列 exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 order_by(*field): 对查询结果排序 reverse(): 对查询结果反向排序...2.QuerySet对象 查询的结果集就是一个QuerySet对象 QuerySet对象就像是一个列表,列表存储着查询出的结果,可以迭代,可以切片 Django中QuerySet对象是惰性的,即你得到这个对象的时候并没有真正的在数据库中执行

    1.1K30

    Django】QuerySet以及Pickle 序列化在Django中的深度运用详解

    还要注意,即使对未执行的QuerySet进行切片并返回另一个未执行的Query Set,也不允许对其进行进一步修改(例如,添加更多筛选器或修改排序),因为它无法很好地转换为SQL,也没有明确的含义。...QuerySet类具有以下公共属性,可用于内省: 有序 True如果QuerySet是有序的–有一个order_by()子句或模型的默认排序。否则,这是错误的。...表达式可以是简单值、对模型(或任何相关模型)字段的引用,或计算与QuerySet中的对象相关的对象的聚合表达式(平均值、总和等)。...annotation()的每个参数都是一个注释,将添加到返回的QuerySet中的每个对象Django提供的聚合函数在以下聚合函数中进行了描述。...如果QuerySet以任何方式排序,则此属性为true。 每个order_by()调用清除以前的排序。

    1.8K10

    python测试开发django-14.查询表结果(超详细)

    前言 django查询数据库的方法很多,不同的方法返回的结果也不太一样,本篇详细讲解关于查询的13个方法 返回对象对象列表的: all(), filter(), exclude(), order_by..., 这里返回的是可迭代对象queryset,并没直接返回全部数据 如果想取出数据,需要用到for循环读取 from django.http import HttpResponse from hello.models...,没有则默认升序 reverse() 对查询结果反向排序 由queryset对象调用,返回值是queryset 查询所有的数据,按mail字段排序,默认升序,查询结果反向排序,功能跟-mail一样...ret=User.objects.all().order_by(“mail”).reverse() values_list() 由queryset对象调用, 返回值是queryset 一个元组序列...django的get是从数据库的取得唯一个匹配的结果,返回一个对象

    1.1K20

    Django学习笔记:QuerySet API

    其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager这个类是一个“空壳”的类,他本身是没有任何的属性和方法的。...这说明filter返回的对象是一个拥有order_by方法的对象。而这个对象正是一个新的QuerySet对象。因此可以使用order_by方法。...如果在values中没有传递任何参数,那么将会返回这个恶模型中所有的属性。 values_list:类似于values。只不过返回的QuerySet中,存储的不是字典,而是元组。...什么时候Django会将QuerySet转换为SQL去执行: 生成一个QuerySet对象并不会马上转换为SQL语句去执行。...说明上面的QuerySet并没有真正的执行。 在以下情况下QuerySet会被转换为SQL语句执行: 迭代:在遍历QuerySet对象的时候,会首先先执行这个SQL语句,然后再把这个结果返回进行迭代。

    62320

    浅谈Django QuerySet对象(模型.objects)的常用方法

    = F(‘author__name’)) 注意: Book模型下面最开始是没有author_name这个属性的。...order_by方法并没有改变数据库中的信息位置,只是我们将数据取出来进行了排序。 那么如果我们对数据库中的信息进行了排序,这样我们就不用每次取数据都需要进行一次排序了。应该怎样做呢?...sale_num这个属性,所以我们需要使用annotate这个方法来创建一个sale_num属性,然后使用Count方法进行赋值,然后使用order_by 进行排序。...,是因为当我们访问name属性的时候,Django又去执行了一遍sql语句查询的代码。...所以id属性是一定会被提取出来的。 和defer一样,就算我们没有提取某个属性出来,我们还是可以访问到的,只是会重新执行一遍sql代码而已。 12. get: 获取满足条件的数据。

    3.7K20
    领券