我在基于的 Django 项目中使用自定义字段类型,django.db.models.IntegerField
此类型用于模型中的各种字段。它用于将数据作为整数存储在数据库中,同时它具有更复杂的相关 Python 类型和字符串表示形式。它还实现了方法value_to_string
,并且to_python
在使用时受到尊重./manage.py dumpdata
。
我还公开了一个带有 DRF 的 REST API,其中使用了一个非常通用的序列化程序,该序列化程序基于其对象中rest_framework.serializers.HyperlinkedModelSerializer
的fields
配置。__all__
Meta
当访问该 API时TypeError
,rest_framework.fields.IntegerField.to_representation
当它试图通过int
.
现在,考虑到为所讨论的类型实现了反序列化例程,实现字段类型很容易(在 DRF 的含义中,作为前面提到的类的替代品)。但是,如果不为每个受影响的字段声明(DRF)字段类型,我将如何设置此字段类型和 Django ORM 之间的映射?我在序列化器字段文档和rest_framework.fields
模块中都找不到任何提示。