filters.py 文件源码

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

项目:api-django 作者: lafranceinsoumise 项目源码 文件源码
def to_python(self, value):
        if value in self.empty_values:
            return None

        try:
            obj = json.loads(value)
        except JSONDecodeError:
            raise DjangoValidationError(self.default_error_messages['invalid_json'], code='invalid_json')

        if set(obj) != {'max_distance', 'coordinates'}:
            raise DjangoValidationError(self.default_error_messages['invalid_fields'], code='invalid_fields')

        max_distance = obj['max_distance']
        coordinates = obj['coordinates']

        try:
            max_distance = float(max_distance)
        except ValueError:
            raise DjangoValidationError(self.default_error_messages['invalid_max_distance'], code='invalid_max_distance')


        if not check_coordinates(coordinates):
            raise DjangoValidationError(self.default_error_messages['invalid_coordinates'], code='invalid_coordinates')

        return Point(*coordinates), Distance(m=max_distance)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号