Exemple #1
0
    class ILike(IContains):
        lookup_name = 'ilike'

        def process_lhs(self, qn, connection):
            lhs_sql, params = super(ILike, self).process_lhs(qn, connection)
            backend_name = backend.__name__
            if 'postgres' in backend_name or \
               'oracle' in backend_name:
                lhs_sql = 'UPPER(%s)' % lhs_sql
            return (lhs_sql, params)

        def get_rhs_op(self, connection, rhs):
            return connection.operators['icontains'] % rhs

    Field.register_lookup(Like)
    Field.register_lookup(ILike)

else:
    from django.db import connection
    from django.db.models.fields import Field, subclassing
    from django.db.models.sql.constants import QUERY_TERMS

    if isinstance(QUERY_TERMS, set):
        QUERY_TERMS.add('like')
        QUERY_TERMS.add('ilike')
    else:
        QUERY_TERMS['like'] = None
        QUERY_TERMS['ilike'] = None

    connection.operators['like'] = connection.operators['contains']
Exemple #2
0
    def ready(self):
        Field.register_lookup(PostgresILike)

        if settings.SENTRY_DSN:
            settings.SENTRY_INIT(settings.SENTRY_DSN, settings.SENTRY_OPTS)
        self.validate_jwt_manager()
Exemple #3
0
            return '%s = %s * %s' % (lhs, rhs, dimension), params

    return CoordinateLookup


class CoordinateValue(Transform):
    lookup_name = 'coord'

    def as_sql(self, compiler, connection):
        lhs, params = compiler.compile(self.lhs)
        return "%s" % lhs, params

    @property
    def output_field(self):
        return CoordinatesField()
Field.register_lookup(CoordinateValue)

p = Product.objects.get(stock_price__coord__x2=500)
print(p)

#**********************************************************************
#Expressions


from discount.models import Product
from django.db.models import F, Q, Count, Value, DateTimeField, ExpressionWrapper, Func, Aggregate, IntegerField, CharField
from django.db.models.functions import Length #???

from datetime import date

#https://docs.djangoproject.com/en/1.8/ref/models/expressions/
Exemple #4
0
import logging
import re

from orthos2.api.lookups import NotEqual
from orthos2.data.models import (Annotation, Architecture, Domain, Enclosure,
                                 Installation, Machine, MachineGroup, NetworkInterface,
                                 PCIDevice, Platform, RemotePower, SerialConsole,
                                 SerialConsoleType, System, User, Vendor)
from django.core.exceptions import (FieldDoesNotExist, FieldError,
                                    MultipleObjectsReturned)
from django.db.models import Field, Q
from django.db.models.functions import Length

logger = logging.getLogger('api')

Field.register_lookup(NotEqual)


class HelperFunctions:

    @staticmethod
    def get_ipv4(machine_id):
        """
        Return the IPv4 address of a machine.

        This value gets set after initialising a machine.
        """
        machine = Machine.objects.get(pk=machine_id)
        value = getattr(machine, 'ipv4', None)
        return value