Skip to content

Commit eed43cc

Browse files
authored
Merge pull request #8 from WaryWombat/date_and_time_fix
Fix invalid casting for %Time and %Date properties
2 parents 04522d3 + c9e8a80 commit eed43cc

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

django_iris/operations.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from django.db.backends.base.operations import BaseDatabaseOperations
44
from django.utils import timezone
55
from itertools import chain
6-
from datetime import datetime
6+
from datetime import date, datetime,timedelta
77

88
from django.utils.dateparse import parse_date, parse_datetime, parse_time
99

@@ -94,14 +94,20 @@ def convert_datetimefield_value(self, value, expression, connection):
9494

9595
def convert_datefield_value(self, value, expression, connection):
9696
if value is not None:
97-
if not isinstance(value, datetime.date):
98-
value = parse_date(value)
97+
if not isinstance(value, type(datetime.date)):
98+
if isinstance(value, int):
99+
value=date.fromordinal(672046+value)
100+
else:
101+
value = parse_date(value)
99102
return value
100103

101104
def convert_timefield_value(self, value, expression, connection):
102105
if value is not None:
103-
if not isinstance(value, datetime.time):
104-
value = parse_time(value)
106+
if not isinstance(value, type(datetime.time)):
107+
if isinstance(value, int):
108+
value=timedelta(seconds=value)
109+
else:
110+
value = parse_time(value)
105111
return value
106112

107113
def conditional_expression_supported_in_where_clause(self, expression):

0 commit comments

Comments
 (0)