【发布时间】:2017-05-03 12:51:45
【问题描述】:
我一直在尝试在 python 中定义自定义 django 模型字段。我在以下位置 https://docs.djangoproject.com/en/1.10/howto/custom-model-fields/ 引用了 django 文档。但是,我对以下方法感到困惑(根据我的理解,我将它们分成了几组):-
第 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 对象。那么,为什么存在这些不同的方法呢?
我知道,我问了一个有点冗长的问题。但是找不到任何其他方式来更好地提出这个问题。
提前致谢。
【问题讨论】:
标签: python django django-models django-model-field