一、描述: 1、【所属项目】该字段不在截图所在的表单的数据库里面,是通过2级关联ID查询后,拼接到此数据接口并展示了出来。 2、该字段配置的搜索代码:
search: {disabled: false, width: 300,component: { props: { clearable: true }}},
3、通过【所属项目】的下拉选项,并不能实现对该表单数据进行过滤。二、问题:此特殊情况,怎么实现按该字段进行对列表(接口)数据的筛选?
查看更多
drf搜索和过滤你需要去系统学习一下1.所属字段是外键关联,搜索会发请求向后端获取数据2.你要实现过滤,后端配置一下就行
@hongzai 前面的问题描述可能有误解,简单来讲:【project_name】字段没有在当前表单的模型类里面(与当前模型没有外键关系),只是在序列化器里面自定义的一个新字段(字典里面添加的一个键值对)。1、DRF的search_fields过滤的字段都需要在该模型类里面存在。所以:怎么通过这个project_name来过滤该接口数据?
发布 问题
分享 好友
手机 浏览
回到 顶部
感谢:H0nGzA1的回复,我再补充下信息:
1、当前这个表单的接口,我在他的ViewSet已经添加了过滤字段如下,但还是没法实现在当前页面进行过滤(不知道您说的“后端配置一下就行”是不是如此。):
2、但project_name没有直接和当前表单的数据库模型有外键关联,是通过一个中间表与当前表互相关联的。所以如果是通过project_name查询当前表的数据库,是查询不到的。因为当前表没有project_name。
3、请问有其他更好的方式么?
好像找到原因了,当通过下拉框搜索过滤的时候,
后端返回的是这样一个请求:/api/XX/?project_name=28&limit=20&page=1
但在这个接口数据里面,这个project_name是个数组。所以过滤不了。
因为这个project_name不是直接和当前表关联的,是在序列化里面append进去的。
@agui search_field和fllter_field不是一个东西