Django 如何创建自定义的相关模型字段?

Django 如何创建自定义的相关模型字段?,django,django-models,django-1.7,Django,Django Models,Django 1.7,我创建了一个新字段,继承自OneToOneField:: class MeasureField(models.OneToOneField): """ A custom Django model Field for Measure """ __metaclass__ = models.SubfieldBase description = _("Measurement") def __init__(self, *args, **kwargs):

我创建了一个新字段,继承自
OneToOneField
::

class MeasureField(models.OneToOneField):
    """ A custom Django model Field for Measure """

    __metaclass__ = models.SubfieldBase

    description = _("Measurement")

    def __init__(self, *args, **kwargs):
        self.measure_types = args
        args = (Measure,)
        if 'to' in kwargs.keys():
            args = tuple()
        super(MeasureField, self).__init__(*args, **kwargs)

    def deconstruct(self):
        name, path, args, kwargs = super(MeasureField, self).deconstruct()
        args = self.measure_types
        return name, path, args, kwargs
它只接受一个列表参数(args),并且始终与模型度量值相关。但当我尝试将其放在模型上并创建模型时:

basic_condition = MeasureField(
    'Density',
    related_name="basic_condition_of_product",
)
我有以下错误:

AttributeError: 'Product' object has no attribute 'basic_condition_id'
我知道相关字段为数据库添加了一个附加了
\u id
的属性。但我不知道为什么我的自定义字段不这样做


我应该如何创建它呢?

实际上我不应该添加元类
子字段数据库。没有它,它工作得很好