我一直在尝试在 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 对象。那么,为什么存在这些不同的方法?
我知道,我问了一个有点冗长的问题。但是找不到任何其他方法来更好地提出这个问题。
提前致谢。