在django.db.models.fields.__init__.py
中有一个类Field
,它是由CharFeld
和其他类继承的,并具有一些布尔型serialize
属性
class Field(RegisterLookupMixin):
def __init__(self, verbose_name=None, ... serialize=True, ...):
...
我在https://docs.djangoproject.com/en/3.1/ref/models/fields/#field-attribute-reference
上找不到关于它的文档那么,为什么要在这里使用它,在某些定制序列化技术中依靠它安全吗?
答案 0 :(得分:1)
serializers使用它。 loaddata
和dumpdata
命令使用它们,它们可用于两个主要目的:固定和从一个数据库到另一个数据库的加载/转储,这可以来自不同的供应商。
用于确定该字段是否应该序列化。模型的Meta类初始化中包含一些复杂的逻辑,这些逻辑确定是否应序列化主键。如果要弄清楚原因,请查看setup_pk()
中的django.db.models.options.Options
方法的调用方(_prepare
和add_field
)。
读取此属性的逻辑位于django.core.serializer.base.Serializer.serialize()
中。