Как я могу хранить историю ManyToManyField, используя django-simple-history. Я использовал HistoricalRecords с атрибутом m2m_filds, но он выдает ошибку: неожиданный аргумент ключевого слова 'm2m_fields'
Как я могу хранить историю ManyToManyField, используя django-simple-history.
Ответы (2)
Я macro1 на GitHub, и я полагаю, что де-факто сопровождаю django-simple-history.
Из вашего вопроса кажется, что вы просто спрашиваете об общей поддержке ManyToManyField по сравнению с другими полями. Короткий ответ: в настоящее время мы его не поддерживаем.
ManyToManyFields фактически создает промежуточную модель, которая представляет отношения между двумя моделями, с которыми вы работаете.
Если вы хотите отслеживать эти отношения, я бы предложил создать модель "сквозного", представляющая отношения и передающая их в конструктор ManyToManyField. Затем вы можете зарегистрировать эту модель, чтобы отслеживать ее историю. Если вы получаете такие ошибки, как «неожиданный аргумент ключевого слова 'm2m_fields'» с этой настройкой, пожалуйста, создайте проблему в нашем трекере.
Как говорит автор django-simple-history a> невозможно обнаружить изменения только в определенных полях, потому что
Как вы уже знаете, simple-history вообще не смотрит на сохраняемые значения. Он вслепую сохраняет новую историческую версию при каждом сигнале сохранения или удаления.
Он также говорит, что возможно использование Field Tracker. сделать эту работу.