我正在使用pymongo
并试图找到构建类的最佳方法。目前,我正在做这样的事情:
class AssetCollection:
def __init__(self,db,**kwargs):
self.__dict__.update(kwargs)
self.Device = Device(db,**db.Devices.find_one({'_id':kwargs['DeviceID']}))
def __repr__(self):
return '<%s %s>' % (self.Name,self._id)
这是非常灵活的,模仿了 MongoDB 的灵活性,但我不确定它是最好的方式。例如,可能出现的问题是如果Device
查找返回,则对象无法实例化None
。我应该能够通过确保在数据库中正确删除级联来避免这种情况,但是我是否也应该在类中处理它?还有什么陷阱吗?
任何意见是极大的赞赏。