Python 如何复制一个模型的字段实例并在django中的另一个模型上注册它?

Python 如何复制一个模型的字段实例并在django中的另一个模型上注册它?,python,django,Python,Django,我试图使用元类生成记录其他模型的一些字段的模型 我的计划是复制recording\u model(这是一个要记录的模型)的recording\u字段,并通过django的字段的contribution\u class(cls,name)方法将它们注册到RecordModel的子类中 通过这种方式,只要记录模式的记录字段中的一个发生变化,它就能够使用信号自动创建记录 问题是,我必须创建与记录模型完全相同的字段实例,包括数据库约束和要求(例如最大长度参数) 所以情况是这样的 from django.

我试图使用元类生成记录其他模型的一些字段的模型

我的计划是复制
recording\u model
(这是一个要记录的模型)的
recording\u字段
,并通过django的
字段
contribution\u class(cls,name)
方法将它们注册到
RecordModel
的子类中

通过这种方式,只要
记录模式
记录字段
中的一个发生变化,它就能够使用信号自动创建记录

问题是,我必须创建与
记录模型
完全相同的
字段
实例,包括数据库约束和要求(例如
最大长度
参数)

所以情况是这样的

from django.models import Model
from django.models.base import ModelBase


class TimeStampedModel(Model):

    ...

    class Meta:
        abstract = True
        ...


class RecordModelMetaClass(ModelBase):
    def __init__(cls, name, bases, attrs):

        ...

        # Register 'recording_fields' of 'recording_model'
        # to subclasses of RecordModel (not reference, deep copy)
        # using `contribute_to_class`.

        ...


class RecordModel(TimeStampedModel):
    __metaclass__ = RecordModelMetaClass

    recording_model = NotImplemented
    recording_fields = NotImplemented

    class Meta(TimeStampedModel.Meta):
        abstract = True
其中,
RecordModel
将是所有记录的抽象基类

我知道我可以使用
Model.\u meta.get\u field()
方法检索模型的
field
实例,但我需要的是实例的副本,而不是引用


有没有办法对django中的
字段
实例进行深度复制?

您看到这个问题的答案了吗?