Django rest framework 我想用python脚本编写一个queires,它最终将从django调用这些查询
这是我的mongodb数据库: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
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框架筛选器后端,创建筛选器集 看这个文件