コード例 #1
0
 def sql_cast(self, expression, timezone=None):
     if backend.name == 'sqlite':
         return SQLite_Date(expression)
     if timezone:
         expression = AtTimeZone(expression, 'utc')
         expression = AtTimeZone(expression, timezone)
     return super(Date, self).sql_cast(expression)
コード例 #2
0
    def test_at_time_zone_mapping(self):
        class MyAtTimeZone(Function):
            _function = 'MY_TIMEZONE'

        time_zone = AtTimeZone(self.table.c1, 'UTC')
        flavor = Flavor(function_mapping={
            AtTimeZone: MyAtTimeZone,
        })
        Flavor.set(flavor)
        try:
            self.assertEqual(str(time_zone), 'MY_TIMEZONE("c1", %s)')
            self.assertEqual(time_zone.params, ('UTC', ))
        finally:
            Flavor.set(Flavor())
コード例 #3
0
 def test_at_time_zone(self):
     time_zone = AtTimeZone(self.table.c1, 'UTC')
     self.assertEqual(str(time_zone), '"c1" AT TIME ZONE %s')
     self.assertEqual(time_zone.params, ('UTC', ))
コード例 #4
0
 def test_at_time_zone_expression(self):
     time_zone = AtTimeZone(self.table.c1, self.table.zone)
     self.assertEqual(str(time_zone), '"c1" AT TIME ZONE "zone"')
     self.assertEqual(time_zone.params, ())