Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django rest framework 我想用python脚本编写一个queires,它最终将从django调用这些查询_Django Rest Framework_Pymongo_Django Mongodb Engine_Restframeworkmongoengine - Fatal编程技术网

Django rest framework 我想用python脚本编写一个queires,它最终将从django调用这些查询

Django rest framework 我想用python脚本编写一个queires,它最终将从django调用这些查询,django-rest-framework,pymongo,django-mongodb-engine,restframeworkmongoengine,Django Rest Framework,Pymongo,Django Mongodb Engine,Restframeworkmongoengine,这是我的mongodb数据库: from mongoengine import Document, fields from django.db.models import Q class Tool(Document): Fruit = fields.StringField(required=True) District = fields.StringField(required=True) Taluka = fields.StringField(required=T

这是我的mongodb数据库:

from mongoengine import Document,  fields
from django.db.models import Q


class Tool(Document):
    Fruit = fields.StringField(required=True)
    District = fields.StringField(required=True)
    Taluka = fields.StringField(required=True)
    Revenue_circle = fields.StringField(required=True)
    Sum_Insured = fields.StringField(required=True)
    Area = fields.StringField(required=True)
    Farmer = fields.StringField(required=True)
from rest_framework import serializers
from rest_framework_mongoengine.serializers import DocumentSerializer
from models import Tool


class ToolSerializer(DocumentSerializer):
    #id = serializers.CharField(read_only=False)
    class Meta:
        model = Tool
        #fields=['Fruit']
**{“水果”:“石榴”,“地区”:“纳西克”,“塔鲁卡”:“纳西克”,“收入圈”:“纳西克”,“保险金额”:28000,“面积”:1200,“农民”:183}

{“水果”:“石榴”,“地区”:“贾尔纳”,“塔鲁卡”:“贾尔纳”,“收入圈”:“贾尔纳”,“投保金额”:28000,“面积”:120,“农民”:13}

{“水果”:“番石榴”,“地区”:“普纳”,“塔鲁卡”:“哈维利”,“收入圈”:“乌拉利坎坎”,“保险金额”:50000,“面积”:10,“农民”:100}

{“水果”:“番石榴”,“地区”:“纳西克”,“塔鲁卡”:“吉纳雷”,“收入圈”:“吉纳雷”,“保险金额”:50000,“面积”:75,“农民”:90}

{“水果”:“香蕉”,“地区”:“南德”,“塔鲁卡”:“南德布尔巴”,“收入圈”:“南德布尔克”,“保险金额”:5000,“面积”:2260,“农民”:342}

{“水果”:“香蕉”,“地区”:“贾尔冈”,“塔鲁卡”:“巴德冈”,“收入圈”:“巴德冈”,“保险金额”:5000,“面积”:220,“农民”:265}**

这是我的models.py文件:

from mongoengine import Document,  fields
from django.db.models import Q


class Tool(Document):
    Fruit = fields.StringField(required=True)
    District = fields.StringField(required=True)
    Taluka = fields.StringField(required=True)
    Revenue_circle = fields.StringField(required=True)
    Sum_Insured = fields.StringField(required=True)
    Area = fields.StringField(required=True)
    Farmer = fields.StringField(required=True)
from rest_framework import serializers
from rest_framework_mongoengine.serializers import DocumentSerializer
from models import Tool


class ToolSerializer(DocumentSerializer):
    #id = serializers.CharField(read_only=False)
    class Meta:
        model = Tool
        #fields=['Fruit']
这是我的serializers.py文件:

from mongoengine import Document,  fields
from django.db.models import Q


class Tool(Document):
    Fruit = fields.StringField(required=True)
    District = fields.StringField(required=True)
    Taluka = fields.StringField(required=True)
    Revenue_circle = fields.StringField(required=True)
    Sum_Insured = fields.StringField(required=True)
    Area = fields.StringField(required=True)
    Farmer = fields.StringField(required=True)
from rest_framework import serializers
from rest_framework_mongoengine.serializers import DocumentSerializer
from models import Tool


class ToolSerializer(DocumentSerializer):
    #id = serializers.CharField(read_only=False)
    class Meta:
        model = Tool
        #fields=['Fruit']
这是我的views.py文件

from __future__ import unicode_literals
from django.template.response import TemplateResponse
from rest_framework_mongoengine.viewsets import ModelViewSet as MongoModelViewSet
from app.serializers import *


def index_view(request):
     context = {}
    return TemplateResponse(request, 'index.html', context)


class ToolViewSet(MongoModelViewSet):
    lookup_field = 'Fruit'
    serializer_class = ToolSerializer

    def get_queryset(self):
        return Tool.objects.all()
现在,我想写一些问题, 但当我在views.py文件中使用lookup field='Fruit'时
我得到了香蕉水果的所有信息

127.0.0.1:8000/api/tool/番石榴/ 然后我得到了所有关于水果的信息,那就是番石榴

查找字段用于单个字段, 但是,我想写所有类型的组合题。 例如: /api/tool/Guava/(提供水果为番石榴的所有数据)

/api/tool/Nasik/(提供地区为Nasik的所有数据)

/api/tool/Uralikanchan/(提供收入的所有数据_Circleis Uralikanchan)

/api/tool/265(给出了farmer is 265的所有数据)

/api/tool/2260/(给出了面积为2260的所有数据)


所以,您能告诉我如何编写将这些查询调用到django的所有类型的组合查询吗?

您需要覆盖视图的
get\u queryset
以对所需字段执行请求。

您需要覆盖视图的
get\u queryset
以对所需字段执行请求需要。

您可以使用rest框架筛选器后端,创建筛选器集
请参阅此文档

您可以使用rest框架筛选器后端,创建筛选器集 看这个文件