雖然使用ORM是一種很好的方法,但根據系統的複雜性,使用「手動」操作可能會更簡單。
在你的情況下,可以做簡單的:
class User(object):
def __init__(self, name, bd, phone, address):
self.name = name
self.bd = bd
self.phone = phone
self.address = address
def to_document(self):
return dict(
name = self.name,
bd = self.bd,
phone = self.phone,
address = self.address,
)
@classmethod
def from_document(cls, doc):
return cls(
name = doc['name'],
bd = doc['bd'],
phone = doc['phone'],
address = doc['address'],
)
您還可以使用 「快捷方式」 的版本...
def to_document(self):
return self.__dict__
@classmethod
def from_document(cls, doc):
return cls(**doc)
...雖然IMO明確優於隱含的,而且隨着事情變得更加複雜,你幾乎不得不切換到「全手動版本」(例如,如果它是一個對象,你可能需要調用其中一個字段的to_document
)。