Mic*_*TIN 3 python django django-filters
我创建了一个过滤器来搜索多个字段(我必须只有一个搜索字段),如下所示:
class myFilter(django_filters.FilterSet): full_search = django_filters.CharFilter(name='full_search', method='search_by_full_search')
def search_by_full_search(self, qs, name, value):
for term in value.split():
qs = qs.filter(Q(serial__icontains=term) | Q(id__icontains=term) | Q(name__icontains=term))
return qs
class Meta:
model = myModel
fields = ['full_search', ]
Run Code Online (Sandbox Code Playgroud)
但是在 html 中,占位符显示了我的诡计!
<input type="text" name="full_search" class="form-control" placeholder="[invalid name]" title="" id="id_full_search">
Run Code Online (Sandbox Code Playgroud)
是否有可能通过其他方式改变?
我知道这已经被问过一段时间了,但刚刚解决了一个项目中的类似问题,因此将其发布在这里以帮助其他人是否遇到此问题。
full_search = django_filters.CharFilter(method='search_by_full_search', label='Recherche') # change label field to reflect what the filter name should be
class Meta:
model = myModel
fields = ['full_search', ]
def search_by_full_search(self, qs, name, value):
for term in value.split():
qs = qs.filter(Q(serial__icontains=term) | Q(id__icontains=term) |
Q(name__icontains=term))
return qs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |