U - 增强to_json方法

pull/15/head
雷二猛 2019-07-22 10:41:30 +08:00
parent b72944385f
commit 2561d821c9
2 changed files with 9 additions and 4 deletions

View File

@ -47,7 +47,12 @@ class ModelMixin(object):
record = cls(**kwargs).save()
return record
def to_json(self):
if hasattr(self, '__table__'):
def to_json(self, excludes=None, selects=None):
if not hasattr(self, '__table__'):
raise AssertionError('<%r> does not have attribute for __table__' % self)
elif selects:
return {i: getattr(self, i) for i in selects}
elif excludes:
return {i.name: getattr(self, i.name) for i in self.__table__.columns if i.name not in excludes}
else:
return {i.name: getattr(self, i.name) for i in self.__table__.columns}
raise AssertionError('<%r> does not have attribute for __table__' % self)

View File

@ -70,7 +70,7 @@ class Argument(object):
:param bool required: is required
"""
def __init__(self, name, default=None, required=True, type=str, filter=None, help=None, nullable=False):
def __init__(self, name, default=None, required=True, type=None, filter=None, help=None, nullable=False):
self.name = name
self.default = default
self.type = type