我一直在尝试在 python 中定义自定义 django 模型字段。我在以下位置引用了 django 文档https://docs.djangoproject.com/en/1.10/howto/custom-model-fields/。但是,我对以下方法感到困惑(根据我的理解,我已将其分为几组):-
第 1 组(根据文档,该组中的方法相互关联)
__init__
()- 解构()
第 2 组
- db_type()
- rel_db_type()
- get_internal_type()
第 3 组
- from_db_value()
- to_python()
- get_prep_value()
- get_db_prep_value()
- get_db_prep_save()
- value_from_object()
- value_to_string()
第 4 组
- 表单域
我有以下问题:-
什么时候
deconstruct()
使用?文档说,它在迁移期间很有用,但没有明确解释。此外,它什么时候被调用?db_type()
和之间的区别get_internal_type()
get_prep_value()
和之间的区别get_db_prep_value()
value_from_object()
和之间的区别value_to_string()
。value_from_object()
文档中没有给出。- 两者
from_db_value()
,value_to_string()
并to_python()
从字符串中给出 python 对象。那么,为什么存在这些不同的方法?
我知道,我问了一个有点冗长的问题。但是找不到任何其他方法来更好地提出这个问题。
提前致谢。