mirror of https://github.com/openspug/spug
U - 增强to_json方法
parent
b72944385f
commit
2561d821c9
|
@ -47,7 +47,12 @@ class ModelMixin(object):
|
||||||
record = cls(**kwargs).save()
|
record = cls(**kwargs).save()
|
||||||
return record
|
return record
|
||||||
|
|
||||||
def to_json(self):
|
def to_json(self, excludes=None, selects=None):
|
||||||
if hasattr(self, '__table__'):
|
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}
|
return {i.name: getattr(self, i.name) for i in self.__table__.columns}
|
||||||
raise AssertionError('<%r> does not have attribute for __table__' % self)
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ class Argument(object):
|
||||||
:param bool required: is required
|
: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.name = name
|
||||||
self.default = default
|
self.default = default
|
||||||
self.type = type
|
self.type = type
|
||||||
|
|
Loading…
Reference in New Issue