Переопределить Django метод обновления набора запросов - PullRequest
1 голос
/ 02 марта 2020

Я хочу переопределить Django Queryset Обновление метода, чтобы регистрировать изменения модели в другой таблице. Я переопределил метод, но не смог найти идентификаторы строк, которые собираются получить Я получаю измененные поля с kwargs Я использую Django v1.9.5. Я просмотрел документы django -simple-history и django -reversion , но они не регистрируют изменения в методе update .

class PollQuerySet(QuerySet):
    def update(self, *args, **kwargs):
        # save data into other table whose schema is 
        #(model_name,field_name,model_pk_id,old_value,new_value)

        super().update(*args, **kwargs)

class ModelWithCustomManager(models.Model):
    objects = PollQuerySet.as_manager()

    class Meta:
        abstract = True

1 Ответ

0 голосов
/ 02 марта 2020

Вместо переопределения метода update вы можете захотеть просмотреть сигналы . На pre-save и post-save вы можете получить данные из модели и сохранить их в таблице журнала.

...