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

Django Admin:根据相关多个模型的串联字符域进行自定义排序

Django Admin是Django框架提供的一个强大的后台管理界面,用于管理和操作网站的后台数据。在Django Admin中,可以通过自定义排序来改变默认的排序方式,以满足特定需求。

自定义排序可以通过在Admin类中的ordering属性中指定一个或多个字段来实现。对于根据相关多个模型的串联字符域进行自定义排序,可以使用双下划线(__)来表示模型之间的关联关系。

以下是一个示例,展示如何根据相关多个模型的串联字符域进行自定义排序:

代码语言:txt
复制
from django.contrib import admin
from .models import ModelA, ModelB, ModelC

class ModelAAdmin(admin.ModelAdmin):
    ordering = ['modelb__modelc__char_field']

admin.site.register(ModelA, ModelAAdmin)

在上述示例中,我们定义了一个ModelAAdmin类,并将其注册到Django Admin中。在ordering属性中,我们使用了双下划线来表示ModelAModelBModelC之间的关联关系。modelbmodelcModelA中定义的外键字段,char_fieldModelC中定义的字符型字段。

通过以上配置,Django Admin会根据ModelCchar_field字段进行排序,实现根据相关多个模型的串联字符域进行自定义排序的功能。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。

  • 腾讯云服务器(CVM):提供弹性计算能力,可根据业务需求灵活调整配置,支持多种操作系统和应用场景。了解更多信息,请访问腾讯云服务器(CVM)产品介绍
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库服务,支持多种数据库引擎,包括MySQL、Redis、MongoDB等。了解更多信息,请访问腾讯云数据库(TencentDB)产品介绍

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

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

相关·内容

后端框架学习-Django

__str__方法,自定义QuerySet中输出格式,则输出时能输出格式化字符串。...Django 同样支持方法串联,以下方法在返回QuerySet后均可使用方法串联,且最终都会按照SQL顺序对数据库进行操作。 print(QuerySet.query)将取得实际SQL语句。...后台创建: python manage.py createsuperuser 注册自定义模型类 在应用admin.py导入注册要管理models类 调用admin.site.register方法进行注册...模型管理器类 作用:为后台管理界面添加便于操作新功能 继承于django.contrib.adminModelAdmin类 在应用admin.py定义模型管理器类 class XXXXManager...Cookies 保存在客户端浏览器上存储空间 特点: cookies在浏览器是以键值对形式进行存储,键和值都是以ASCII码形式存储 存储数据带有生命周期 cookies数据是按照隔离

9.3K40

三、模型(一)

Django Admin错误信息会优先根据Admiin内部ModelForm错误信息提示,如果都成功,才来检查Model字段并显示指定错误信息 b....我们还没有告诉数据库 怎样对结果进行排序,所以我们返回结果是无序。 在你 Django 应用中,你或许希望根据某字段值对检索结果排序,比如说,按字母顺序。...ORDER BY name; 如果需要以多个字段为标准进行排序(第二个字段会在第一个字段值相同情况下被使用到),使用多个参数就可以了,如下: >>> Publisher.objects.order_by...你可以在任意一个 模型 类中使用 Meta 类,来设置一些与特定模型相关选项。ordering 这个选项。...连锁查询 我们已经知道如何对数据进行过滤和排序。 当然,通常我们需要同时进行过滤和排序查询操作。

4.5K90

35.Django2.0文档

C:根据用户输入委派视图部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当Python 函数  由于 C 由框架自行处理,而 Django 里更关注模型(Model...该层处理与表现相关决定: 如何在页面或其他类型文档中进行显示。   V:代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板相关逻辑。 你可以把它看作模型与模板之间桥梁。  ...我们还没有告诉数据库 怎样对结果进行排序,所以我们返回结果是无序。 在你 Django 应用中,你或许希望根据某字段值对检索结果排序,比如说,按字母顺序。...我们可以对任意字段进行排序,如果需要以多个字段为标准进行排序(第二个字段会在第一个字段值相同情况下被使用到),使用多个参数就可以了,如下: ?...它从可用年份开始,然后逐层细分到月乃至日。 ? 请注意,date_hierarchy接受是* 字符串* ,而不是元组。因为只能对一个日期型字段进行层次划分。

11.3K100

37.Django1.11.6文档

表单默认清除 让我们首先创建一个自定义表单字段,它验证其输入是一个由逗号分隔邮件地址组成字符串。 ...你可为你模型提供自定义权限,它们可以通过Django认证系统进行检查。 你可以扩展默认User模型,或用完全自定义模型替换。 指定认证后端 在底层,Django维护一个“认证后端”列表。 ...根据需求,包含相关字段自定义用户模型可能是您更好选择,但是,与项目应用程序中默认用户模型现有关系可能有助于额外数据库加载。...使用上面的示例,这会看起来像︰ colored_first_name.admin_order_field = '-first_name' admin_order_field支持查询查询,以按相关模型进行排序...如果没有提供,Django管理员将使用模型默认排序。 如果您需要指定动态顺序(例如,根据用户或语言),您可以实施get_ordering()方法。

24.3K80

Django中ORM介绍和字段及其参数

按照之前方式来进行开发就会出现程序员会在自己业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复。...本示例中CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意是,Django根据配置文件中指定数据库后端类型来生成相应SQL语句。...若提供该选项, 该模块将拥有一个 get_latest() 函数以得到 "最新" 对象(依据那个字段): get_latest_by = "order_date" managed 由于Django会自动根据模型类生成映射数据库表...ordering 这个字段是告诉Django模型对象返回记录结果集是按照哪个字段排序。...这会在 Django admin 层和数据库层同时做出限制(也就是相关 UNIQUE 语句会被包括在 CREATE TABLE 语句中)。

2.8K80

Django 1.10中文文档-第一个应用Part7-自定义管理站点

自定义管理表单 通过admin.site.register(Question)注册了Question后,Django可以自动构建一个默认表单。如果您需要自定义管理表单外观和功能。...并且在字段数据很多时,还可以将表单分割成多个字段集合: # polls/admin.py from django.contrib import admin from .models import Question...你可以点击其中一列表头来让列表按照这列值来进行排序,但是was_published_recently这列表头不行,因为Django不支持按照随便一个方法输出进行排序。...自定义应用模板 聪明读者可能会问:但是DIRS默认是空Django是如何找到默认admin模板呢?...自定义管理站点首页 在类似的情况下,您可能想要定制Django管理首页页面。默认情况下,管理站点首页显示所有INSTALLED_APPS内并在admin应用中注册过app,以字母顺序进行排序

3.6K60

django入门:数据模型

正文 上一部分我们介绍了《django环境和项目的搭建》,以及数据库配置,那这一部分我们介绍和数据库相关方面的知识 -- 模型 创建 django 模型 我们需要在 "blog" 应用下 models.py...FfileField 配合使用 创建完模型后,我们需要根据模型来创建数据库,设计到数据库迁移知识 数据库迁移 我们通过命令行切换到 manage.py 文件夹,分别运行如下命令行 python manage.py...makemigrations 运行后会在相应应用下 migrations 目录生成一个 0001_initial.py(0001会根据迁移次数进行递增),用于记录对模型修改 python manage.py...sqlmigrate blog 0001 其中 blog 0001 根据实际项目进行替换 数据库插入数据 创建好数据库进行数据添加,可以通过如下操作进行 from blog.models import...2) 即查找 id 不大于 2 数据 # 通过 order_by 进行排序 Category.objects.all().order_by('-id') # 逆序排序,逆序排序只需要在排序字段前加

80510

django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

哲理 为你员工或客户生成添加、修改和删除内容管理性网站是个单调乏味工作。 出于这个原因,Django 根据模型完全自动化创建管理界面。... poll 进行编辑: 这有些注意事项: 这表单是根据 Poll 模型自动生成。...通过 admin.site.register(Poll) 注册了 Poll 模型Django 就能构造一个默认 表单。通常情况下,你将要自定义管理表单外观和功能。...– 除了 was_published_recently 这一列,因为不支持根据方法输出内容排序。...自定义管理网站首页 于此类似,你可能还想自定义 Django 管理网站首页。 默认情况下,首页会显示在 INSTALLED_APPS 中所有注册了管理功能应用, 并按字母排序

2.5K40

Django Admin后台管理

登陆后就会看到我们注册模型类,点进去后就可以实现对数据库CURD了。 4.自定义管理页面 Django提供了自定义管理页面的功能,是通过自定义模型管理类来实现。...在admin.py创建一个admin.ModelAdmin子类,在注册模型类时调用admin.site.register方法时,在第二个参数中指定自定义模型管理类。..., SchoolInfoAdmin) admin.site.register(StudentInfo) 显示效果如下 还可以通过模型管理类list_display属性来自定义显示列。...list_display添加get_name方法 list_display = ['id', 'name', 'addr', 'get_name'] 显示效果如下 注:属性列在后台管理页面中是可以进行排序...,而方法列是不能排序,如果需要排序需要设置admin_order_field属性来为方法指定排序依据。

2.8K10

Python全栈开发之Django基础

进行处理,返回页面相关 admin.py # 站点管理 migrations: 安装应用 # mysite/setting.py INSTALLED_APPS = [ 'django.contrib.admin...(BookInfo) admin.site.register(HeroInfo) 自定义管理界面 # app01/admin.py,list_display表示要显示字段 from django.contrib...,减轻后期维护成本 No.6 后台 内容发布部分由网站管理员负责查看、添加、修改、删除数据,开发这些重复功能是一件单调乏味、缺乏创造力工作,为此,Django能够根据定义模型类自动地生成管理模块...actions_on_bottom=True 同上,只不过是底部显示属性 字段排序 admin_order_field=[字段1,字段2] 列标题 short_description='列标题' 侧边栏过滤器...,此为app01 在管理页面上传图片 在admin中注册该模型admin.site.register(Pic)

3.7K20

django框架菜鸟教程_django框架菜鸟教程

HttpRequest对象属性GET、POST都是QueryDict类型对象 QueryDict类型对象用来处理同一个键带有多个情况 方法get():根据键获取值 dict.get(‘键’...,默认值) 可简写为 dict[‘键’] # 说明: # 如果一个键同时拥有多个值将获取最后一个值 # 如果键不存在则返回None值,可以设置默认值进行后续处理 方法getlist():根据键获取值...,即假使客户端进行POST方式请求,依然可以通过request.GET获取请求中查询字符串数据。...Count Max Min Sum 排序 order_by 默认升序,-降序 关联查询 一到多:一对应模型类对象.多对应模型类名小写_set b = BookInfo.objects.get...list_display = ['id','btitle','pub_date'] # 说明: 方法列是不能排序,需要排序admin_order_field = 模型类字段 关联对象

3K40

美多商城项目(一)

Django里面不需要定义模型类了。 Django认证系统已经为我们提供了一个用户模型类,还提供了认证和授权功能。 Django认证机制依赖于session机制,但我们使用JWT认证机制。...is_staff是否可以访问admin站点,相当于之前我们用is_admin is_superuser超级管理员 系统模型类中,缺少我们需要一些字段,那么我们可以自定义用户模型类,采用继承就可以解决这个问题...: 可以向redis管道中添加多个redis命令,然后一次性进行执行(可以做到只连接一次redis,那么网站效率会高一点。)...通过域名访问网站 --->先到本地 /etc/host文件中查找域名和ip对应关系,如果找到,直接根据ip访问对应服务器,不再进行DNS解析,如果找不到,才会进行DNS解析过程。...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词

1.3K31

Django3.2边学边记—Adimn站点管理

准备工作 创建管理员用户名和密码:  1 python manage.py createsuperuser   根据提示创建用户名 密码 在admin.py中注册模型类 1234567 from django.contrib...控制显示列,Django 会尝试按照这个顺序解释 list_display 每个元素: 一个模型字段。 一个可调用对象。 一个代表 ModelAdmin 属性字符串。...一个代表模型属性字符串。 用模型属性显示 模型id title pub_date 三个属性 123 class TestAdmin(admin.ModelAdmin):    ...    ...属性,指定排序依据模型属性,如下: 12345 # from django.db import models# from django.contrib import adminclass...12 class TestAdmin(admin.ModelAdmin):    search_fields = ['id','name'] 在搜索框中进行搜索时,Django 会将搜索查询拆分成多个

1.1K00

Django3.2边学边记—Adimn站点管理

准备工作 创建管理员用户名和密码:  1 python manage.py createsuperuser   根据提示创建用户名 密码 在admin.py中注册模型类 1234567 from django.contrib...控制显示列,Django 会尝试按照这个顺序解释 list_display 每个元素: 一个模型字段。 一个可调用对象。 一个代表 ModelAdmin 属性字符串。...一个代表模型属性字符串。 用模型属性显示 模型id title pub_date 三个属性 123 class TestAdmin(admin.ModelAdmin):    ...    ...属性,指定排序依据模型属性,如下: 1234567 # from django.db import models# from django.contrib import adminclass TestInfo...12 class TestAdmin(admin.ModelAdmin):    search_fields = ['id','name'] 在搜索框中进行搜索时,Django 会将搜索查询拆分成多个

1.3K30

Django】 开发:数据库操作和后台管理

模型类中定义 def __str__(self): 方法可以自定义默认字符串 class Book(models.Model): title = ......方法:order_by 用法:MyModel.objects.order_by (’- 列’,‘列’) 作用: 与 all () 方法不同,它会用 SQL 语句 ORDER BY 子句对查询结果进行根据某个字段选择性进行排序...后台管理登录地址: http://127.0.0.1:8000/admin/ 注册自定义模型类 若要自己定义模型类也能在 后台管理界中显示和管理,需要将自己类注册到后台管理界面 添加自己定义模型后台管理数据表...方法进行注册,如: from django.contrib import admin admin.site.register(自定义模型类) 如:在 bookstore/admin.py 添加如下代码对...from . import models ... admin.site.register(models.Book) # 将Book类注册为可管理页面 修改自定义模型展现样式 在admin后台管理数据库中对自定义数据记录都展示为

4K40

Django学习笔记之ORM字段和字段参数

按照之前方式来进行开发就会出现程序员会在自己业务逻辑代码中夹杂很多SQL语句用来增加、读取、修改、删除相关数据,而这些代码通常都是重复。 3....通常,一个模型(model)映射到一个数据库表, 基本情况: 每个模型都是一个Python类,它是django.db.models.Model子类。 模型每个属性都代表一个数据库字段。...本示例中CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意是,Django根据配置文件中指定数据库后端类型来生成相应SQL语句。...(Field) - 字符串类型,Django Admin以及ModelForm中提供对UUID格式验证 FilePathField(Field) - 字符串,...Django Admin错误信息会优先根据Admiin内部ModelForm错误信息提示,如果都成功,才来检查Model字段并显示指定错误信息 b.

5.1K10
领券