@@ -73,6 +73,7 @@ class MyModel(Model):
73
73
74
74
def test_timestamp_attribute ():
75
75
assert_mypy_output ("""
76
+ from datetime import datetime
76
77
from pynamodb.models import Model
77
78
from pynamodb_attributes import TimestampAttribute, TimestampMsAttribute, TimestampUsAttribute
78
79
@@ -82,13 +83,15 @@ class MyModel(Model):
82
83
ts_us = TimestampUsAttribute()
83
84
84
85
m = MyModel()
85
- reveal_type(m.ts) # E: Revealed type is 'datetime.datetime'
86
- reveal_type(m.ts_ms) # E: Revealed type is 'datetime.datetime'
87
- reveal_type(m.ts_us) # E: Revealed type is 'datetime.datetime'
88
- m.ts = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "datetime")
89
- m.ts_ms = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "datetime")
90
- m.ts_us = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "datetime")
91
- """ )
86
+ reveal_type(m.ts) # E: Revealed type is 'datetime.datetime*'
87
+ reveal_type(m.ts_ms) # E: Revealed type is 'datetime.datetime*'
88
+ reveal_type(m.ts_us) # E: Revealed type is 'datetime.datetime*'
89
+ m.ts = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "Optional[datetime]")
90
+ m.ts_ms = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "Optional[datetime]")
91
+ m.ts_us = 42 # E: Incompatible types in assignment (expression has type "int", variable has type "Optional[datetime]")
92
+
93
+ m.save(condition=MyModel.ts == datetime.now())
94
+ """ ) # noqa: E501
92
95
93
96
94
97
def test_uuid_attribute ():
0 commit comments