Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为django简单历史记录表设置manage=False_Python_Django_Django Models_Django Simple History - Fatal编程技术网

Python 如何为django简单历史记录表设置manage=False

Python 如何为django简单历史记录表设置manage=False,python,django,django-models,django-simple-history,Python,Django,Django Models,Django Simple History,我正在为我的模型使用django simple history。我正在删除模型上的一个字段,但将meta属性managed设置为False。但是,这不会转换为简单的历史记录表。有什么方法可以实现这一点吗?您可以将历史记录类划分为子类,并覆盖获取元数据选项函数。例如: from simple_history.models import HistoricalRecords class UnmanagedHistoricalRecords(HistoricalRecords): def g

我正在为我的模型使用
django simple history
。我正在删除模型上的一个字段,但将
meta
属性
managed
设置为
False
。但是,这不会转换为简单的历史记录表。有什么方法可以实现这一点吗?

您可以将
历史记录
类划分为子类,并覆盖
获取元数据选项
函数。例如:

from simple_history.models import HistoricalRecords

class UnmanagedHistoricalRecords(HistoricalRecords):

    def get_meta_options(self, model):
        result = super().get_meta_options(model)
        result['managed'] = False
        return result
因此,这里我们将把一个
managed=False
传递给将由
UnmanagedHistoricalRecords
对象管理器构建的模型

class SomeModel(models.Model):
    # …

    objects = UnmanagedHistoricalRecords()