Собрать запрос БД из запросов GET - PullRequest
0 голосов
/ 02 декабря 2011

Я пытаюсь собрать запрос из значений, предоставленных через запросы GET, это вообще возможно? Вот пример того, что я надеюсь сделать:

def kml(request):
    venues = Venue.objects.filter(
        (Q(neighborhood__city__metro__slug=request.GET.get('metro')) if request.GET.get('metro')),
        (Q(neighborhood__slug=request.GET.get('neighborhood')) if request.GET.get('metro'))
    )
    return HttpResponse(venues)

В принципе, если я перейду к foo.com/?metro=nyc, он вернет все объекты Места для этой столичной области. Если бы я только поставил район foo.com/?neighborhood=soho, он вернул бы все места для любого района по имени Сохо. И, наконец, foo.com/?metro=nyc&neighborhood=soho предоставит любую площадку, отвечающую критериям столичного района и района.

Возможно ли это?

пс. По сути, это то, что делает REST API? Мне лучше попробовать Piston, TastyPie или Django-REST?

1 Ответ

1 голос
/ 02 декабря 2011

API запроса Django цепочка , поэтому вы можете сделать это:

def kml(request):
    venues = Venue.objects

    if request.GET.get('metro'):
       venues = venues.filter((Q(neighborhood__city__metro__slug=request.GET.get('metro')))

     if request.GET.get('metro')
        venues = venues.filter(Q(neighborhood__slug=request.GET.get('neighborhood')) )

     # and so on...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...