我想动态更改过滤字段。
我有一个名为Product
的模型,字段为title
和code
class Product(models.Model):
title = models.CharField(max_length=50)
code = models.CharField(max_length=50)
我的过滤字段将在这样的 View 中是动态的
def filter(request):
search_choices = {
'1': 'title__icontains',
'2': 'code__icontains',
}
col_num = request.GET.get("col_num")
value = request.GET.get("value")
search_field = search_choices.get("col_num")
qs = Product.objects.filter(search_field=value)
........
这里变量search_field
始终是动态的......那么我怎样才能实现这一点
最佳答案
您可以通过将参数作为字典传递来实现此目的:
value = request.GET.get("value")
search_field = search_choices.get("col_num")
qs = Product.objects.filter(**{search_field: value})
关于django 过滤字段作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49875288/