New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Datetime fields returning type is not consistant. #834
Comments
well.. I've found |
coming back to this issue... still having problems with it... In [27]: s = SomeModel.first()
In [28]: s.token_expires_at
Out[28]: DateTime(2022, 12, 19, 19, 35, 23, tzinfo=Timezone('Europe/Berlin'))
In [29]: type(s.token_expires_at)
Out[29]: pendulum.datetime.DateTime
In [30]: new_session = SomeModel()
In [31]: new_session.token_expires_at = pendulum.now()
In [32]: new_session.token_expires_at
Out[32]: '2022-12-20 11:06:29'
In [33]: type(new_session.token_expires_at)
Out[33]: str |
Why does datetime field can be returned as three different types? - I've seen |
moreover it's being serialized into different formats:
while existing models serialized with
this is extremely frustrating |
the logic of this is on line 822 of the Model class. after looking at these examples more closely. most of the examples i believe is how the IDE is representing the classes object as a string. the only thing that actuallt threw me for a trip was this line
this is a bit confusing but its how the model class is converting the datetime to get ready for saving the date to the database (as a string). that part happens. you can actually modify this behavior in your own application by overriding tis method on your model to this: def get_new_datetime_string(self, _datetime=None):
"""
Given an optional datetime value, constructs and returns a new datetime string.
If no datetime is specified, returns the current time.
:rtype: list
"""
return _datetime this would not convert the datetime immediately to a string. this change in the package actually doesn't fail any tests but with that being said i don't feel comfortable making that change right now. |
Describe the bug
created_at
andupdated_at
fields are having type other than schema declared Datetime fields.To Reproduce
Create a datetime field in mysql db.
Expected behavior
I was hoping to get the same type
Screenshots or code snippets
Desktop (please complete the following information):
Ubuntu 22.04.1 LTS
What database are you using?
MySQL(not sure about version),
masonite-orm==2.18.6
The text was updated successfully, but these errors were encountered: