我想动态更改过滤字段。
我有一个名为的模型Product,字段是title和code
class Product(models.Model):
title = models.CharField(max_length=50)
code = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
我的过滤字段在这样的视图中将是动态的
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)
........
Run Code Online (Sandbox Code Playgroud)
这里的变量search_field总是动态的......所以我怎么能做到这一点
您可以通过将参数作为字典传递来实现此目的:
value = request.GET.get("value")
search_field = search_choices.get("col_num")
qs = Product.objects.filter(**{search_field: value})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |