Как я могу установить управление = False для простой таблицы истории Django - PullRequest
1 голос
/ 04 октября 2019

Я использую django-simple-history для моей модели. Я удаляю поле в модели, но задаю для свойства meta managed значение False. Однако это не переводится в простую историю. Есть ли способ добиться этого?

1 Ответ

2 голосов
/ 04 октября 2019

Вы можете создать подкласс класса HistoricalRecords и переопределить функцию get_meta_options. Например:

from simple_history.models import HistoricalRecords

class <b>UnmanagedHistoricalRecords</b>(HistoricalRecords):

    def <b>get_meta_options</b>(self, model):
        result = super().get_meta_options(model)
        <b>result['managed'] = False</b>
        return result

Тогда мы можем использовать наш класс UnmanagedHistoricalRecords в нашей модели:

class SomeModel(models.Model):
    # &hellip;

    <b>objects = UnmanagedHistoricalRecords()</b>

Здесь мы, таким образом, передадим managed = False модели, которая будет построенаадминистратором объектов UnmanagedHistoricalRecords.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...