170 похожих чатов

Привет! Кто-нибудь юзал библиотеку django-simple-history? Есть вопрос: мне нужно контролировать

процесс создания записей в таблице историй, как можно это делать или можно ли вручную создавать записи, в доках об этом почти ничего нет, только сигналы, но они не работают почему-то.

8 ответов

27 просмотров

если это обычный сейв модели, не булк криейт и не апдейт какой-нибудь, то сигналы будут работать

Dato-Akobia Автор вопроса

Да, должны Смотри, в общем @receiver(pre_create_historical_record) def pre_create_historical_record_callback(sender, **kwargs): history_change_reason = kwargs['history_change_reason'] Я хочу изменить текст, например, как это сделать, можешь подсказать?

а так не проще написать будет? @receiver(post_save, sender=MyModel) def signal_name(sender, instance, created, **kwargs): if created: ... HistoryObject.objcets.create(**your_data)

Dato-Akobia Автор вопроса

Я не хочу использовать джанговские сигналы, мне нужно решить в рамках возможностей библиотеки

либой не пользовался, не подскажу, а почему сигналы не подходят?

Dato-Akobia Автор вопроса

Мне кажется это в перспективе хуево для проекта, использовать логику сигналов, с либой это норм, потому что ты не выходишь за ее рамки, ну это имхо

понял, ну если либа умеет вызывать сигналы для апдейта или булк методов, тогда вообще супер

Могу сказать касательно "вручную создавать записи" object._change_reason = 'blah blah' object.save()

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта