base.py 文件源码

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

项目:ecs 作者: ecs-org 项目源码 文件源码
def load_field(self, fieldname, val, zf, version):
        if val is None:
            return val, False
        try:
            field = self.model._meta.get_field(fieldname)
        except models.fields.FieldDoesNotExist:
            field = None
        deferr = False
        if field:
            if isinstance(field, models.DateTimeField):
                val = timezone.make_aware(
                    datetime.datetime.strptime(val, DATETIME_FORMAT),
                    timezone.utc)
            elif isinstance(field, models.DateField):
                val = datetime.date.strptime(val, DATE_FORMAT)
            elif isinstance(field, models.ManyToManyField):
                val = self.load_many(field.related_model, val, zf, version)
                deferr = True
            elif isinstance(field, models.ManyToOneRel):
                val = self.load_many(field.related_model, val, zf, version,
                    commit=False)
                deferr = True
            elif isinstance(field, models.ForeignKey):
                val = load_model_instance(field.rel.to, val, zf, version)
            elif isinstance(field, GenericRelation):
                val = self.load_many(field.rel.to, val, zf, version,
                    commit=False)
                deferr = True
        elif isinstance(val, list):
            rel_model = getattr(self.model, fieldname).related.related_model
            val = self.load_many(rel_model, val, zf, version, commit=False)
            deferr = True
        return val, deferr
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号