decorators.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:django-jsonattrs 作者: Cadasta 项目源码 文件源码
def fixup_instance(sender, **kwargs):
    instance = kwargs['instance']
    for f in instance._meta.fields:
        if isinstance(f, JSONAttributeField):
            fi = getattr(instance, f.name)
            if not isinstance(fi, JSONAttributes):
                setattr(instance, f.name, JSONAttributes(fi))
            fld = getattr(instance, f.name)
            fld._instance = instance
            if hasattr(instance, '_attr_field'):
                raise FieldError('multiple JSONAttributeField fields: '
                                 'only one is allowed per model!')
            instance._attr_field = fld
    if not hasattr(instance, '_attr_field'):
        raise FieldError('missing JSONAttributeField field in '
                         'fixup_instance decorator')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号