0

Вот моя MongoDB база данных:Я хочу Добавьте queires в питон скрипт, который в конечном счете собирается называть эти запросы от Джанго

** { «Фрукты»: «Гранат», «Район»: " «Насик», «Талука»: «Насик», «Круг дохода»: «Насик», «Страховая сумма»: 28000, «Площадь»: 1200, «Фермер»: 183}

{"Фрукты": "Гранат »,« Район »:« Джална »,« Талука »:« Джална »,« Круг дохода »:« Джална »,« Страховая сумма »: 28000,« Площадь »: 120,« Фермер »: 13}

{«Фрукты»: «Гуава», «Район»: «Пуна», «Талука»: «Хавели», «Круг дохода»: «Ураликанчан», «Страховая сумма»: 50000, «Площадь»: 10, «Фермер»: 100}

{"Фрукты": " »,« Талука »:« Гирнар »,« Круг дохода »:« Гирнар »,« Страховая сумма »: 50000,« Площадь »: 75,« Фермер »: 90}

{" Фрукты ":" Банан " «Площадь»: 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) 

Вот мой serializers.py файл:

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() 

Теперь, я хочу писать очереди, Но когда я использую lookup filed = 'Fruit' в файле views.py, то http://127.0.0.1:8000/api/tool/Banana/
Я получаю всю информацию о фруктах, которые являются бананами.

127.0.0.1:8000/api/tool/Guava/ затем я получаю всю информацию о фруктах, которые являются гуавой.

lookup filed используется для одиночных полей, Но, я хочу написать все типы комбинаций. , например: /API/инструмент/гуавы/(дает все данные плоды гуавы)

/апи/Инструмент/Nasik/(предоставляет все данные для района Назик)

/API/инструмент/uralikanchan/(предоставляет все данные для revenue_circle является uralikanchan)

/апи/инструмент/265 (предоставляет все данные для фермера 265)

/апи/инструмент/2260/(дает все данные площадь составляет 2260)

Итак, не могли бы вы рассказать мне ho w написать все типы комбинационных запросов, которые называют эти очереди для django?

ответ

1

Вам необходимо переопределить get_queryset вида, чтобы выполнить запрос, который вы хотите в полях, которые вы хотите.

Смежные вопросы