当前位置: 首页>>代码示例>>Python>>正文


Python expressions.Value方法代码示例

本文整理汇总了Python中django.db.models.expressions.Value方法的典型用法代码示例。如果您正苦于以下问题:Python expressions.Value方法的具体用法?Python expressions.Value怎么用?Python expressions.Value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在django.db.models.expressions的用法示例。


在下文中一共展示了expressions.Value方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def __init__(self, expression, pos, length=None, **extra):
        """
        expression: the name of a field, or an expression returning a string
        pos: an integer > 0, or an expression returning an integer
        length: an optional number of characters to return
        """
        if not hasattr(pos, 'resolve_expression'):
            if pos < 1:
                raise ValueError("'pos' must be greater than 0")
            pos = Value(pos)
        expressions = [expression, pos]
        if length is not None:
            if not hasattr(length, 'resolve_expression'):
                length = Value(length)
            expressions.append(length)
        super(Substr, self).__init__(*expressions, **extra) 
开发者ID:lanbing510,项目名称:GTDWeb,代码行数:18,代码来源:functions.py

示例2: resolve_expression

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def resolve_expression(
        self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False
    ):
        resolved = super().resolve_expression(
            query, allow_joins, reuse, summarize, for_save
        )
        if self.config:
            if not hasattr(self.config, "resolve_expression"):
                resolved.config = Value(self.config).resolve_expression(
                    query, allow_joins, reuse, summarize, for_save
                )
            else:
                resolved.config = self.config.resolve_expression(
                    query, allow_joins, reuse, summarize, for_save
                )
        return resolved 
开发者ID:Code4PuertoRico,项目名称:contratospr-api,代码行数:18,代码来源:search.py

示例3: batch_process_rhs

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def batch_process_rhs(self, compiler, connection, rhs=None):
        if rhs is None:
            rhs = self.rhs
        if self.bilateral_transforms:
            sqls, sqls_params = [], []
            for p in rhs:
                value = Value(p, output_field=self.lhs.output_field)
                value = self.apply_bilateral_transforms(value)
                value = value.resolve_expression(compiler.query)
                sql, sql_params = compiler.compile(value)
                sqls.append(sql)
                sqls_params.extend(sql_params)
        else:
            _, params = self.get_db_prep_lookup(rhs, connection)
            sqls, sqls_params = ['%s'] * len(params), params
        return sqls, sqls_params 
开发者ID:reBiocoder,项目名称:bioforum,代码行数:18,代码来源:lookups.py

示例4: get_context_data

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def get_context_data(self, **kwargs):
        context = super(CommentedDetailView, self).get_context_data(**kwargs)
        queryset = Comment.objects.filter(hidden=False, page=self.get_comment_page())
        context['has_comments'] = queryset.exists()
        context['comment_lock'] = self.is_comment_locked()
        queryset = queryset.select_related('author__user').defer('author__about').annotate(revisions=Count('versions'))

        if self.request.user.is_authenticated:
            queryset = queryset.annotate(vote_score=Coalesce(RawSQLColumn(CommentVote, 'score'), Value(0)))
            profile = self.request.profile
            unique_together_left_join(queryset, CommentVote, 'comment', 'voter', profile.id)
            context['is_new_user'] = (not self.request.user.is_staff and
                                      not profile.submission_set.filter(points=F('problem__points')).exists())
        context['comment_list'] = queryset
        context['vote_hide_threshold'] = settings.DMOJ_COMMENT_VOTE_HIDE_THRESHOLD

        return context 
开发者ID:DMOJ,项目名称:online-judge,代码行数:19,代码来源:comments.py

示例5: process_rhs

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def process_rhs(self, compiler, connection):
        value = self.rhs
        if self.bilateral_transforms:
            if self.rhs_is_direct_value():
                # Do not call get_db_prep_lookup here as the value will be
                # transformed before being used for lookup
                value = Value(value, output_field=self.lhs.output_field)
            value = self.apply_bilateral_transforms(value)
            value = value.resolve_expression(compiler.query)
        # Due to historical reasons there are a couple of different
        # ways to produce sql here. get_compiler is likely a Query
        # instance and as_sql just something with as_sql. Finally the value
        # can of course be just plain Python value.
        if hasattr(value, 'get_compiler'):
            value = value.get_compiler(connection=connection)
        if hasattr(value, 'as_sql'):
            sql, params = compiler.compile(value)
            return '(' + sql + ')', params
        else:
            return self.get_db_prep_lookup(value, connection) 
开发者ID:Yeah-Kun,项目名称:python,代码行数:22,代码来源:lookups.py

示例6: batch_process_rhs

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def batch_process_rhs(self, compiler, connection, rhs=None):
        if rhs is None:
            rhs = self.rhs
        if self.bilateral_transforms:
            sqls, sqls_params = [], []
            for p in rhs:
                value = Value(p, output_field=self.lhs.output_field)
                value = self.apply_bilateral_transforms(value)
                value = value.resolve_expression(compiler.query)
                sql, sql_params = compiler.compile(value)
                sqls.append(sql)
                sqls_params.extend(sql_params)
        else:
            params = self.lhs.output_field.get_db_prep_lookup(
                self.lookup_name, rhs, connection, prepared=True)
            sqls, sqls_params = ['%s'] * len(params), params
        return sqls, sqls_params 
开发者ID:drexly,项目名称:openhgsenti,代码行数:19,代码来源:lookups.py

示例7: process_rhs

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def process_rhs(self, compiler, connection):
        value = self.rhs
        if self.bilateral_transforms:
            if self.rhs_is_direct_value():
                # Do not call get_db_prep_lookup here as the value will be
                # transformed before being used for lookup
                value = Value(value, output_field=self.lhs.output_field)
            value = self.apply_bilateral_transforms(value)
            value = value.resolve_expression(compiler.query)
        # Due to historical reasons there are a couple of different
        # ways to produce sql here. get_compiler is likely a Query
        # instance, _as_sql QuerySet and as_sql just something with
        # as_sql. Finally the value can of course be just plain
        # Python value.
        if hasattr(value, 'get_compiler'):
            value = value.get_compiler(connection=connection)
        if hasattr(value, 'as_sql'):
            sql, params = compiler.compile(value)
            return '(' + sql + ')', params
        if hasattr(value, '_as_sql'):
            sql, params = value._as_sql(connection=connection)
            return '(' + sql + ')', params
        else:
            return self.get_db_prep_lookup(value, connection) 
开发者ID:drexly,项目名称:openhgsenti,代码行数:26,代码来源:lookups.py

示例8: as_postgresql

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def as_postgresql(self, compiler, connection):
        geo_field = GeometryField(srid=self.srid)  # Fake field to get SRID info
        src_field = self.get_source_fields()[0]
        geography = src_field.geography and self.srid == 4326
        if geography:
            # Set parameters as geography if base field is geography
            for pos, expr in enumerate(
                    self.source_expressions[self.geom_param_pos + 1:], start=self.geom_param_pos + 1):
                if isinstance(expr, GeomValue):
                    expr.geography = True
        elif geo_field.geodetic(connection):
            # Geometry fields with geodetic (lon/lat) coordinates need special distance functions
            if self.spheroid:
                self.function = 'ST_Distance_Spheroid'  # More accurate, resource intensive
                # Replace boolean param by the real spheroid of the base field
                self.source_expressions[2] = Value(geo_field._spheroid)
            else:
                self.function = 'ST_Distance_Sphere'
        return super(Distance, self).as_sql(compiler, connection) 
开发者ID:drexly,项目名称:openhgsenti,代码行数:21,代码来源:functions.py

示例9: __init__

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def __init__(self, expression, distinct=False, **extra):
        if expression == '*':
            expression = Value(expression)
        super(Count, self).__init__(
            expression, distinct='DISTINCT ' if distinct else '', output_field=IntegerField(), **extra) 
开发者ID:lanbing510,项目名称:GTDWeb,代码行数:7,代码来源:aggregates.py

示例10: coalesce

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def coalesce(self):
        # null on either side results in null for expression, wrap with coalesce
        expressions = [
            Coalesce(expression, Value('')) for expression in self.get_source_expressions()]
        self.set_source_expressions(expressions) 
开发者ID:lanbing510,项目名称:GTDWeb,代码行数:7,代码来源:functions.py

示例11: __init__

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def __init__(self, *expressions, **extra):
        super().__init__(*expressions, **extra)
        self.config = self.extra.get("config", self.config)
        weight = self.extra.get("weight")
        if weight is not None and not hasattr(weight, "resolve_expression"):
            weight = Value(weight)
        self.weight = weight 
开发者ID:Code4PuertoRico,项目名称:contratospr-api,代码行数:9,代码来源:search.py

示例12: process_rhs

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def process_rhs(self, compiler, connection):
        value = self.rhs
        if self.bilateral_transforms:
            if self.rhs_is_direct_value():
                # Do not call get_db_prep_lookup here as the value will be
                # transformed before being used for lookup
                value = Value(value, output_field=self.lhs.output_field)
            value = self.apply_bilateral_transforms(value)
            value = value.resolve_expression(compiler.query)
        if hasattr(value, 'as_sql'):
            sql, params = compiler.compile(value)
            return '(' + sql + ')', params
        else:
            return self.get_db_prep_lookup(value, connection) 
开发者ID:reBiocoder,项目名称:bioforum,代码行数:16,代码来源:lookups.py

示例13: __init__

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def __init__(self, *expressions, **extra):
        super().__init__(*expressions, **extra)
        self.source_expressions = [
            Coalesce(expression, Value('')) for expression in self.source_expressions
        ]
        self.config = self.extra.get('config', self.config)
        weight = self.extra.get('weight')
        if weight is not None and not hasattr(weight, 'resolve_expression'):
            weight = Value(weight)
        self.weight = weight 
开发者ID:reBiocoder,项目名称:bioforum,代码行数:12,代码来源:search.py

示例14: resolve_expression

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def resolve_expression(self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False):
        resolved = super().resolve_expression(query, allow_joins, reuse, summarize, for_save)
        if self.config:
            if not hasattr(self.config, 'resolve_expression'):
                resolved.config = Value(self.config).resolve_expression(query, allow_joins, reuse, summarize, for_save)
            else:
                resolved.config = self.config.resolve_expression(query, allow_joins, reuse, summarize, for_save)
        return resolved 
开发者ID:reBiocoder,项目名称:bioforum,代码行数:10,代码来源:search.py

示例15: _do_search

# 需要导入模块: from django.db.models import expressions [as 别名]
# 或者: from django.db.models.expressions import Value [as 别名]
def _do_search(self):
        queryset = self.get_queryset()

        if self._score_field:
            queryset = queryset.annotate(**{self._score_field: Value(None, output_field=models.FloatField())})

        return queryset.iterator() 
开发者ID:wagtail,项目名称:wagtail,代码行数:9,代码来源:db.py


注:本文中的django.db.models.expressions.Value方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。