コード例 #1
0
 def check_expression_support(self, expression):
     bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField)
     bad_aggregates = (
         aggregates.Sum,
         aggregates.Avg,
         aggregates.Variance,
         aggregates.StdDev,
     )
     if isinstance(expression, bad_aggregates):
         for expr in expression.get_source_expressions():
             try:
                 output_field = expr.output_field
             except FieldError:
                 # Not every subexpression has an output_field which is fine
                 # to ignore.
                 pass
             else:
                 if isinstance(output_field, bad_fields):
                     raise utils.NotSupportedError(
                         "You cannot use Sum, Avg, StdDev, and Variance "
                         "aggregations on date/time fields in sqlite3 "
                         "since date/time is saved as text.")
     if (isinstance(expression, aggregates.Aggregate)
             and len(expression.source_expressions) > 1):
         raise utils.NotSupportedError(
             "SQLite doesn't support DISTINCT on aggregate functions "
             "accepting multiple arguments.")
コード例 #2
0
 def for_update_sql(self, nowait=False, skip_locked=False, of=()):
     """
     Return the FOR UPDATE SQL clause to lock rows for an update operation.
     """
     # DB2 doesn't support nowait select for update
     if nowait:
         raise utils.NotSupportedError(
             "NOWAIT clause not supported by Db2 for iSeries")
     return 'FOR UPDATE%s%s' % (
         ' OF %s' % ', '.join(of) if of else '',
         ' SKIP LOCKED DATA' if skip_locked else '',
     )
コード例 #3
0
ファイル: operations.py プロジェクト: tom812191/django
 def check_expression_support(self, expression):
     bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField)
     bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance,
                       aggregates.StdDev)
     if isinstance(expression, bad_aggregates):
         for expr in expression.get_source_expressions():
             try:
                 output_field = expr.output_field
             except FieldError:
                 # Not every subexpression has an output_field which is fine
                 # to ignore.
                 pass
             else:
                 if isinstance(output_field, bad_fields):
                     raise utils.NotSupportedError(
                         'You cannot use Sum, Avg, StdDev, and Variance '
                         'aggregations on date/time fields in sqlite3 '
                         'since date/time is saved as text.')
コード例 #4
0
 def disable_constraint_checking(self):
     raise utils.NotSupportedError(
         "Db2 for iSeries currently supports no method of disabling constraints on a per-session basis."
     )