为了账号安全,请及时绑定邮箱和手机立即绑定

Django Tables 2过滤字段,但使用显示名称?

Django Tables 2过滤字段,但使用显示名称?

德玛西亚99 2022-05-24 15:45:23
我有这个模型:DRAFT = 'draft'IN_PROGRESS = 'in_progress'FINISHED = 'finished'STATUS_CHOICES = (    (DRAFT, 'Entwurf'),    (IN_PROGRESS, 'In Arbeit'),    (FINISHED, 'Erledigt'),)class Invoice(TimeStampModel):    status = models.CharField('Status', choices=STATUS_CHOICES, max_length=50)这个过滤器是我用 django tables 2 插件构建的:class InvoiceFilter(django_filters.FilterSet):        class Meta:            model = Invoice            fields = {                'name': ['icontains'],                'status': ['icontains'],            }我的过滤器在我的页面上呈现没有问题,我可以使用它。现在的问题是,如果我尝试使用德语单词搜索状态,例如Entwurf过滤器总是不返回任何项目。但是,如果我过滤draft我会得到所有具有此状态的项目。所以我的问题是:如何告诉我的过滤器查找我的状态字段的显示名称?甚至更好:是否可以只从状态字段中进行选择而不是正常搜索?感谢您的任何回答!
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

好的。我应该仔细研究一下 django 表 2 的文档。我找到了我的解决方案:


class InvoiceFilter(django_filters.FilterSet):

        status = django_filters.TypedChocieFilter(choices=STATUS_CHOICES)


        class Meta:

            model = Invoice

            fields = {

                'name': ['icontains'],

            }


查看完整回答
反对 回复 2022-05-24
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号