Repository: pynamodb/PynamoDB (language: python)

Issue:
Incostistent log and documentation. 
https://github.com/pynamodb/PynamoDB/blob/b3330a43ee8f9c203a32834f080dde42ab4cf8c7/pynamodb/attributes.py#L886

expected format is %Y-%m-%dT%H:%M:%S.%f+0000 (seen here https://github.com/pynamodb/PynamoDB/blob/b3330a43ee8f9c203a32834f080dde42ab4cf8c7/pynamodb/attributes.py#L882-L886 )
but logs and documentation show that required format is %Y-%m-%dT%H:%M:%S.%fZ




Discussion / hints:
Especially confusing due to the fact that strict adherence to format is required. 
 
Good eye.

To reinterpret the report, the difference is:
```diff
-%Y-%m-%dT%H:%M:%S.%fZ
+%Y-%m-%dT%H:%M:%S.%f+0000
````

In other words, we don't support arbitrary timezones, but do require explicit UTC in the form of `+0000` (and no other form).

We definitely should update the docs.
Thanks, that would be great!

Fix patch:
diff --git a/pynamodb/constants.py b/pynamodb/constants.py
index 8ffa832a..390aa63e 100644
--- a/pynamodb/constants.py
+++ b/pynamodb/constants.py
@@ -97,7 +97,7 @@
 
 # Defaults
 DEFAULT_ENCODING = 'utf-8'
-DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S.%f%z'
+DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S.%f+0000'
 SERVICE_NAME = 'dynamodb'
 HTTP_OK = 200
 HTTP_BAD_REQUEST = 400


Test patch:
diff --git a/tests/test_attributes.py b/tests/test_attributes.py
index d7063140..c62301e9 100644
--- a/tests/test_attributes.py
+++ b/tests/test_attributes.py
@@ -204,7 +204,7 @@ def test_utc_date_time_deserialize_pre_1000_not_padded(self):
         ]
     )
     def test_utc_date_time_invalid(self, invalid_string):
-        with pytest.raises(ValueError, match="does not match format"):
+        with pytest.raises(ValueError, match=r"does not match format '%Y-%m-%dT%H:%M:%S.%f\+0000'"):
             self.attr.deserialize(invalid_string)