Ejemplo n.º 1
0
def create_query(request):
    """

    :param request:
    :return:
    """
    if request.method != 'POST':
        return json_response({
            'status': 'error',
            'message': 'Invalid request type'
        })

    form = QueryForm(request.POST)
    if form.is_valid():
        query = Query(**form.cleaned_data)
        query.user = request.user
        query.is_public = form.cleaned_data['is_public'] == u'True'
        query.save()
        return json_response({
            'status': 'success',
            'message': 'Query successfully created',
            'query': query.to_dict()
        })

    return json_response({
        'status': 'error',
        'message': 'Fill all required fields'
    })
    def handle(self, *args, **options):
        fake = Factory.create('es_ES')

        for _ in range(0, 5):
            oprtions = ['RE', 'OF']
            random.shuffle(oprtions)
            q = Query(intention=oprtions.pop())
            q.save()
            for _ in range(0, 5):
                q.keywords.add(fake.first_name())
            q.save()
    def post(self):
        json_data = request.json

        query = Query(json_data.get('term', None),
                      json_data.get('place', None),
                      json_data.get('startTime', None),
                      json_data.get('endTime', None), json_data.get('k', 10))

        logger.info('Executing search query')
        hits = self.search_adapter.find(query)
        logger.info('Done executing search query')
        return hits