@@ -208,18 +208,18 @@ def value(self, compiler, connection): # noqa: ARG001
208208 if isinstance (value , datetime .datetime ):
209209 return value
210210 if isinstance (value , Decimal ):
211- value = Decimal128 (value )
212- elif isinstance (value , datetime .date ):
211+ return Decimal128 (value )
212+ if isinstance (value , datetime .date ):
213213 # Turn dates into datetimes since BSON doesn't support dates.
214- value = datetime .datetime .combine (value , datetime .datetime .min .time ())
215- elif isinstance (value , datetime .time ):
214+ return datetime .datetime .combine (value , datetime .datetime .min .time ())
215+ if isinstance (value , datetime .time ):
216216 # Turn times into datetimes since BSON doesn't support times.
217- value = datetime .datetime .combine (datetime .datetime .min .date (), value )
218- elif isinstance (value , datetime .timedelta ):
217+ return datetime .datetime .combine (datetime .datetime .min .date (), value )
218+ if isinstance (value , datetime .timedelta ):
219219 # DurationField stores milliseconds rather than microseconds.
220- value /= datetime .timedelta (milliseconds = 1 )
221- elif isinstance (value , UUID ):
222- value = value .hex
220+ return value / datetime .timedelta (milliseconds = 1 )
221+ if isinstance (value , UUID ):
222+ return value .hex
223223 return {"$literal" : value }
224224
225225
0 commit comments