小编She*_*rpa的帖子

如何从多个字段中搜索?

我的视图集有自定义过滤器:

class OrderFilter(django_filters.rest_framework.FilterSet):
    username = django_filters.CharFilter(name='user__username', lookup_expr='icontains')
    client_name = django_filters.CharFilter(name='user__first_name', lookup_expr='icontains')

    class Meta:
        model = Order
        exclude = ['pk']
Run Code Online (Sandbox Code Playgroud)

当我发送这样的查询时它会起作用:

http://localhost:8000/orders/?username=testuser
Run Code Online (Sandbox Code Playgroud)

或者

http://localhost:8000/orders/?client_name=john
Run Code Online (Sandbox Code Playgroud)

但我只想创建一个查询来搜索包含username,first_name和中的搜索字符串的数据last_name。怎么做?

django-filter django-rest-framework

2
推荐指数
1
解决办法
1160
查看次数

Django 中的 Defer() 查询集不起作用

我正在尝试向我的数据库发出查询集请求,我希望从响应中排除整个列,在本例中为列权重。但响应正在返回数据库中的所有列。我正在尝试使用延迟,但它不起作用。

我做错了什么?

视图.py

def product_table(request):
   width = request.GET['width']
   length = request.GET['length']
   prod_filter = Product.objects.filter(length=length,width=width).defer('weigth')
   data_prod =serializers.serialize('json', prod_filter)
   return JsonResponse({'data_prod':data_prod})
Run Code Online (Sandbox Code Playgroud)

网页

    ... 
    <div>
        <table id="id_prod" class="table table-striped table-bordered table-hover"></table>
    </div>
    <script>
        $(document).ready(function(){
          ...
                $.get('{% url "prod_table" %}',function (data_prod) {
                    var data_json = JSON.parse(data_prod['data_prod']);
                    var data_array = [];
                    for(var i = 0; i < data_json.length; i++) {
                        var arr = $.map(data_json[i]['fields'], function(el) { return el });
                        data_array.push(arr);
                    }


                    $('#id_prod').DataTable({
                        destroy: true,
                        data: data_array,
                        columns: [
                            { title: "Name" },
                            { title: "width" …
Run Code Online (Sandbox Code Playgroud)

django django-queryset

1
推荐指数
1
解决办法
3562
查看次数