예제 #1
0
def execute_sql(self, *args, **kwargs):
    client = get_client()
    if client is None:
        return self.__execute_sql(*args, **kwargs)
    try:
        q, params = self.as_sql()
        if not q:
            raise EmptyResultSet
    except EmptyResultSet:
        if kwargs.get('result_type', MULTI) == MULTI:
            return QuerySet.none()
        else:
            return
    start = datetime.now()
    try:
        return self.__execute_sql(*args, **kwargs)
    finally:
        d = (datetime.now() - start)
        client.insert({
            'query': q,
            'view': _get_current_view(),
            'type': 'sql'
        }, {
            'time': 0.0 + d.seconds * 1000 + d.microseconds / 1000,
            'count': 1
        })
예제 #2
0
    def search_filter(self, queryset:QuerySet, name, value):
        if value == "":
            return queryset.none()
#        qval = Q(meaning__icontains=value)
        # qval = Q(meaning__istartswith=value)
        qval = Q(meaning__iexact=value)
        return queryset.filter(qval)
예제 #3
0
 def filter_queryset(self, request, queryset: QuerySet, view):
     try:
         if 'user__id' in request.query_params.keys():
             queryset = queryset.filter(
                 author__user__id=request.query_params['user__id'])
         if 'user__email' in request.query_params.keys():
             queryset = queryset.filter(
                 author__user__email=request.query_params['user__email'])
         if 'user__username' in request.query_params.keys():
             queryset = queryset.filter(author__user__username=request.
                                        query_params['user__username'])
         if 'author__id' in request.query_params.keys():
             queryset = queryset.filter(
                 author__id=request.query_params['author__id'])
         if 'author__ORCID' in request.query_params.keys():
             queryset = queryset.filter(
                 author__ORCID=request.query_params['author__ORCID'])
         if 'article__id' in request.query_params.keys():
             queryset = queryset.filter(
                 article__id=request.query_params['article__id'])
         if 'article__title' in request.query_params.keys():
             queryset = queryset.filter(
                 article__title=request.query_params['article__title'])
         if 'is_email_author' in request.query_params.keys():
             queryset = queryset.filter(
                 is_email_author=request.query_params['is_email_author'])
     except Exception as e:
         queryset = queryset.none()
     return queryset
예제 #4
0
 def search_filter(self, queryset:QuerySet, name, value):
     if value == "":
         return queryset.none()
     # qval = Q(wylie__istartswith=value) | Q(sa2ru1__istartswith=value) | Q(sa2en1__istartswith=value) | Q(sa2ru2__istartswith=value) | Q(sa2en2__istartswith=value) | Q(sa2ru3__istartswith=value) | Q(sa2en3__istartswith=value) | Q(tibetan__istartswith=value) | Q(sanscrit__istartswith=value)
     qval = Q(wylie__iexact=value) | Q(sa2ru1__iexact=value) | Q(sa2en1__iexact=value) | Q(sa2ru2__iexact=value) | Q(sa2en2__iexact=value) | Q(sa2ru3__iexact=value) | Q(sa2en3__iexact=value) | Q(tibetan__iexact=value) | Q(sanscrit__iexact=value)
         
     return queryset.filter(qval)
예제 #5
0
 def filter_queryset(self, request, queryset: QuerySet, view):
     try:
         if 'user__id' in request.query_params.keys():
             queryset = queryset.filter(
                 referee__user__id=request.query_params['user__id'])
         if 'user__email' in request.query_params.keys():
             queryset = queryset.filter(
                 referee__user__email=request.query_params['user__email'])
         if 'user__username' in request.query_params.keys():
             queryset = queryset.filter(referee__user__username=request.
                                        query_params['user__username'])
         if 'referee__id' in request.query_params.keys():
             queryset = queryset.filter(
                 referee__id=request.query_params['referee__id'])
         if 'article__id' in request.query_params.keys():
             queryset = queryset.filter(
                 article__id=request.query_params['article__id'])
         if 'article__title' in request.query_params.keys():
             queryset = queryset.filter(
                 article__title=request.query_params['article__title'])
         if 'evaluation' in request.query_params.keys():
             queryset = queryset.filter(
                 evaluation=request.query_params['evaluation'])
         if 'state' in request.query_params.keys():
             queryset = queryset.filter(state=request.query_params['state'])
         if 'round' in request.query_params.keys():
             queryset = queryset.filter(round=request.query_params['round'])
     except Exception as e:
         queryset = queryset.none()
     return queryset