【发布时间】:2015-11-02 14:42:04
【问题描述】:
我在为 Django 应用程序建模时遇到了意想不到的困难。我有一个模型,它由属性组成。某些属性具有外部(主数据)表示。我希望能够同时获得我在应用程序中使用的表示和主数据表示。我的想法是使用自定义 django.db.models 字段,并添加一种方法来获取该主数据表示。然后我可以使用model.field 作为“本机”表示,并使用model.field.mdm_guid() 作为外部表示。
但是,当从 Field 继承时,我还没有找到访问字段自身值的方法。
目前,代码如下所示:
class MdmField(TextField):
def __init__(self, *kargs, **kwargs):
self.mdm_type = kwargs.pop('mdm_type', None)
def mdm_guid(self, value):
return masterdata[self.mdm_type].get(value, 0)
masterdata 字典包含这些外部表示,但这对于这个问题并不重要。
我很烦恼需要传入字段的值!我不能从字段本身访问字段的值吗?有没有办法从现场拿到模型?
谢谢!
【问题讨论】:
标签: python django django-models