Untitled
unknown
python
2 years ago
1.1 kB
15
Indexable
import mongoengine as me
from datetime import datetime
class BaseDocument(me.Document):
_created_at = me.DateTimeField(default=datetime.utcnow)
_updated_at = me.DateTimeField(default=datetime.utcnow)
fields = ["id"]
@property
def created_at(self) -> str | None:
if self._created_at is None:
return None
created_at = self._created_at.isoformat()
return created_at
@property
def updated_at(self) -> str | None:
if self._updated_at is None:
return None
updated_at = self._updated_at.isoformat()
return updated_at
@property
def to_dict(self):
data = {}
for field in self.fields:
data[field] = getattr(self, field, None)
return data
def from_dict(self, data, new_obj=True) -> None:
for field in self.fields:
if field in data:
setattr(self, field, data[field])
now = datetime.utcnow()
if new_obj:
self.get_token()
self._created_at = now
self._updated_at = nowEditor is loading...
Leave a Comment