首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Django过滤器表单中连接相关表中的2个字段?

如何在Django过滤器表单中连接相关表中的2个字段?
EN

Stack Overflow用户
提问于 2022-03-28 09:34:55
回答 1查看 105关注 0票数 0

我有两个模型,作曲家和作品与一对多的关系(一个作曲家有许多作品)。

我有一个表单筛选器,它提供了两个下拉控件,从中选择composer和仪表(从片段模型中),以过滤属于所选Composer的部分。

作曲家下拉式只显示作曲家的姓氏,如果有几代作曲家在同一个家族,例如J.S. Bach、C.P.E Bach等,这真是令人困惑。下拉过滤器控制只显示多个姓Bach的实例,因此用户不知道是哪一种。是否可以将下拉列表中的每个作曲家显示为“姓氏,firstName"?

过滤器如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import django_filters
from .models import Piece


class PieceFilter(django_filters.FilterSet):
    class Meta:
        model = Piece
        fields = ['composer', 'instrumentation']

我只是导入片段模型,因为composer是一个相关的表,但是我想我可能也需要导入Composer表,但不确定。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-04-11 04:04:33

在有人给我看之后这很简单。我所需要做的就是在composer模型中添加以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def __str__(self):
        return self.surname +', '+ self.name
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71651414

复制
相关文章
Django:表单字段如何在模板中用中文
1、表单汉化:是针对用户的。用户浏览网页时,表单的名称如果是英文的,不够友好,所以需要显示为中文,虽然代码编写还是英文。 2、Admin后台汉化:是针对网站管理员的。因为Admin后台是数据库直接注册的,所以要想汉化后台内容,其实是对数据库(如字段名)操作的。2种汉化的对象不一样。
py3study
2020/01/16
1.6K0
Django ORM 查询表中某列字段值
方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。
BigYoung小站
2020/05/04
3.7K0
Django中的form表单校验
我在使用django的form组件时,发现在view函数中的`form.is_valid()`在form表单校验未通过的情况下,返回的仍然是True,最后发现还是form表单的问题,异常函数并没有传递给view函数
cywhat
2022/11/22
1.5K0
Django中FilePathField字段的使用
class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options]) 一个 CharField ,内容只限于文件系统内特定目录下的文件名。有三个参数, 其中第一个是 必需的: FilePathField.path 必填。这个FilePathField 应该得到其选择的目录的绝对文件系统路径。例如: "/home/images". FilePathField.match 可选的.FilePathField 将会作为一个正则表达式来匹配文件名。但请注意正则表达式将将被作用于基本文件名,而不是完整路径。例如: "foo.*.txt$", 将会匹配到一个名叫 foo23.txt 的文件,但不匹配到 bar.txt 或者 foo23.png. FilePathField.recursive 可选的.True 或 False.默认是False.声明是否包含所有子目录的路径 FilePathField.allow_files 可选的.True 或 False.默认是True.声明是否包含指定位置的文件。该参数或allow_folders 中必须有一个为 True. FilePathField.allow_folders 是可选的.输入 True 或者 False.默认值为 False.声明是否包含指定位置的文件夹。该参数或 allow_files 中必须有一个为 True. 当然,这些参数可以同时使用。 有一点需要提醒的是 match只匹配基本文件名(base filename), 而不是整个文件路径(full path). 例如: FilePathField(path="/home/images", match="foo.*", recursive=True) ...将匹配/home/images/foo.png而不是/home/images/foo/bar.png 因为只允许匹配 基本文件名(foo.png 和 bar.png). FilePathField实例被创建在您的数据库为varchar列默认最大长度为 100 个字符。作为与其他字段,您可以更改使用的max_length最大长度。 大多数网站在插入图片时一般都是这样处理的: 上传大尺寸图时,自动生成一张缩略图;网页中插入缩略图,并把地址指向大尺寸的图。 所以在Django中,我这样定义主要字段: title = models.CharField(max_length = 120) img = models.ImageField(upload_to = 'screenshots') thumb = models.FilePathField(path = 'screenshots/thumb') 为什么thumb不是ImageFiled呢?因为考虑到Admin中上传的是大图,而缩略图不是上传,而是自动生成的。所以在这样写。具体的处理是(假设MEDIA_ROOT为/tmp,MEDIA_URL为http://localhost/media/: 上传图片(test.jpg)至MEDIA_ROOT/screenshots,此时img的属性是:img.name = screenshots/test.jpg, img.path = /tmp/screenshots/test.jpg, img.url = http://localhost/media/screenshots/test.jpg 判断图片大小是否需要做缩略图,如果不需要,直接复制img.path到thumb,否则,生成一张缩略图(以test-thumb.jpg命名)保存在screenshots/thumb下。 在网页中插入图片时,就可以简单地用<a href="{% object.img.url %}"><img title="{% object.title %}" src="{% object.thumb %}" alt="{% object.title %}"></a>来表示了。object表示一个ScreenShot。
菲宇
2019/08/14
3.7K0
Django中的模板相关
1.render_to_string :找到模板,然后将模板编译后渲染成Python的字符串格式。最后再通过 HttpResponse 类包装成一个 HttpResponse 对象返回回去。示例代码如下:
bering
2023/10/16
1910
MySQL中 如何查询表名中包含某字段的表
information_schema 是MySQL系统自带的数据库,提供了对数据库元数据的访问 information_schema.tables 指数据库中的表(information_schema.columns 指列) table_schema 指数据库的名称 table_type 指是表的类型(base table 指基本表,不包含系统表) table_name 指具体的表名
全栈程序员站长
2022/02/10
12.7K0
MySQL查询某个表中的所有字段并通过逗号分隔连接
想多造一些测试数据,表中字段又多一个个敲很麻烦,导出表中部分字段数据又不想导出ID字段(因为ID字段是自增的,导出后再插入会报唯一性错误),select * 查出来又是所有的字段。 可以通过如下SQL查询表中所有字段通过逗号连接,然后复制出来进行select查询再导出
共饮一杯无
2022/11/24
9.5K0
MySQL查询某个表中的所有字段并通过逗号分隔连接
Django Sqlite 数据库,在已有表中添加新字段
可以通过 migrate 传递上一次迁移的编号来撤销迁移。 例如,要撤销最近一次迁移 0020_auto_20220520_1511,进入迁移文件,找到dependencies中信息
沈宥
2022/06/21
4K0
Django Sqlite 数据库,在已有表中添加新字段
java如何获得数据库表中字段等相关的信息
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.PreparedStatement; import java.sql.ResultSetMetaData; import java.sql.SQLException; public class TestDemo { public static Connection getConnection() { Con
gfu
2019/08/28
2.1K0
Django学习-第七讲:django 中的常用字段、字段属性,外键和表关系、外键操作
映射到数据库中是int类型,可以有自动增长的特性。一般不需要使用这个类型,如果不指定主键,那么模型会自动的生成一个叫做id的自动增长的主键。如果你想指定一个其他名字的并且具有自动增长的主键,使用AutoField也是可以的。
小海怪的互联网
2019/10/08
4K0
Vue3中表单相关的知识:表单绑定、表单验证、表单处理
表单是前端开发中经常使用的一种交互方式,它提供了一种用户输入和提交数据的机制。Vue3作为一款流行的JavaScript框架,提供了丰富的表单处理功能,使得我们能够轻松地创建、验证和获取表单数据。本文将详细介绍Vue3中表单相关的知识,包括表单绑定、表单验证、表单处理等方面。
网络技术联盟站
2023/07/05
2.9K0
Django Rest Model 中 User 字段的插入问题
百思不得其解,因为明明通过creater=self.request.user赋值了啊。 后来在Model中,将creater字段修改为
fanzhh
2019/08/20
1.7K0
SAS中哈希表的连接问题
哈希表即散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。在SAS中使用哈希表十分简单,你并不需要知道SAS内部是怎么实现的,只需要知道哈希表是存储在内存中的,查找是根据key值直接获得存储的地址的精确匹配。加上使用哈希表合并数据集时不用排序的优点,在实际应用中可以极大的提高程序运行效率,尤其是数据集较大的时候。但是由于哈希表是放到内存中的,因此对内存有一定要求!
专业余码农
2020/07/15
2.3K0
Django中数据库的相关操作
year、month、day、week_day、hour、minute、second:对日期时间类型的属性进行运算。
小闫同学啊
2019/07/18
2.2K0
Django中数据库的相关操作
点击加载更多

相似问题

如何在django表单中连接html字段

10

反相关字段管理中的django过滤器

12

如何在mysql中连接字段表单表

14

如何在django模型中快速选择相关表中的字段

11

django模型表单。包含相关模型中的字段

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文