与棉花糖(de)序列化库的peewee集成。

Marshmallow-Peewee的Python项目详细描述


Build StatusVersionLicense

marshmallow peewee–PeeweeMarshmallow(de)序列化库集成。

importpeeweeaspwclassRole(pw.Model):name=pw.CharField(255,default='user')classUser(pw.Model):created=pw.DateTimeField(default=dt.datetime.now())name=pw.CharField(255)title=pw.CharField(127,null=True)active=pw.BooleanField(default=True)rating=pw.IntegerField(default=0)role=pw.ForeignKeyField(Role)frommarshmallow_peeweeimportModelSchemaclassUserSchema(ModelSchema):classMeta:model=Userrole=Role.create()user=User.create(name='Mike',role=role)result,errors=UserSchema().dump(user)print(result)# {'active': True,#  'created': '2016-03-29T15:27:18.600034+00:00',#  'id': 1,#  'name': 'Mike',#  'rating': 0,#  'role': 1,#  'title': None}result,errors=UserSchema().load(result)assertisinstance(result,User)assertresult.name=='Mike'frommarshmallow_peeweeimportRelatedclassUserSchema(ModelSchema):role=Related()classMeta:model=Userresult,errors=UserSchema().dump(user)print(result)# {'active': True,#  'created': '2016-03-29T15:30:32.767483+00:00',#  'id': 1,#  'name': 'Mike',#  'rating': 0,#  'role': {'id': 5, 'name': 'user'},#  'title': None}result,errors=UserSchema().load(result)assertnoterrorsassertisinstance(result,User)assertisinstance(result.role,Role)

Requirements

  • Python2.7+,3.4+

Installation

marshmallow peewee应该使用pip安装:

pip install Marshmallow-Peewee

注意

棉花糖peewee>;=2.0.0仅支持peewee>;=3.0.0。用于Peewee<;3.0.0 请使用marhmallow peewee==1.2.7

Usage

importpeeweeaspwclassRole(pw.Model):name=pw.CharField(255,default='user')classUser(pw.Model):created=pw.DateTimeField(default=dt.datetime.now())name=pw.CharField(255)title=pw.CharField(127,null=True)active=pw.BooleanField(default=True)rating=pw.IntegerField(default=0)role=pw.ForeignKeyField(Role)frommarshmallow_peeweeimportModelSchemaclassUserSchema(ModelSchema):classMeta:# model: Bind peewee.Model to the Schemamodel=User# model_converter: Use custom model_converter# model_converter = marshmallow_peewee.ModelConverter# dump_only_pk: Primary key is dump only# dump_only_pk = True# string_keys: Convert keys to strings# string_keys = True

Bug tracker

如果您有任何建议、错误报告或 烦恼请向问题追踪者报告 在https://github.com/klen/marshmallow-peewee/issues

License

根据麻省理工学院的许可证(请参阅许可证)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?