Костылик вполне себе стандартный для ООП и при штатном использовании проблем быть не должно, независимо от очередности вызовов (в смысле где будет вызван super().save(...)). Но из Вашего примера не вполне понятно, в какой момент значение становится set . Так что тут скорее всего у вас в проекте кто-то выше по иерархии классов моделей передает set в базовый метод.
Либо вы переопределяете метод save_base, куда после save приходит frozenset (что само по себе не оч), либо речь про обработку сигналов изменения модели (там тоже будет frozenset), но там уже, очевидно, стоит породить новый объект списка. И да, внутри frozenset используется уже 12 лет как..
Да и в документации на этот счет изменений не замечено
А какие проблемы с update_fields? Оно в базовом методе приводится к frosenset, так что можно любое Iterable значение туда передавать. Или вы используете статический анализ типов?
Про стабильность Вы погорячились. bleeding-edge версии пакетов и стабильность — взаимоисключающие параграфы. Стабильность — это Debian с его дремучими, но проверенными временем версиями ПО
Просвещаю:
Ядро Linux (и др. ОС), драйверы и прочее системное ПО пишутся на C
Подавляющее большинство высокопроизводительного серверного ПО написано на C/C++ (СУБД, nginx, redis)
Самая распространенная реализация самого "популярного" Python (и многих других языков) написана на C
Продолжать можно долго, но этого должно быть достаточно)
Если бы install.sh воспроизводил Never gonna give you up в терминале, всё бы стало на свои места) но нет, лежащий сайт только добавляет интриги..
Костылик вполне себе стандартный для ООП и при штатном использовании проблем быть не должно, независимо от очередности вызовов (в смысле где будет вызван
super().save(...)
). Но из Вашего примера не вполне понятно, в какой момент значение становитсяset
. Так что тут скорее всего у вас в проекте кто-то выше по иерархии классов моделей передаетset
в базовый метод.Либо вы переопределяете метод
save_base
, куда послеsave
приходитfrozenset
(что само по себе не оч), либо речь про обработку сигналов изменения модели (там тоже будетfrozenset
), но там уже, очевидно, стоит породить новый объект списка. И да, внутриfrozenset
используется уже 12 лет как..Да и в документации на этот счет изменений не замечено
А какие проблемы с
update_fields
? Оно в базовом методе приводится кfrosenset
, так что можно любоеIterable
значение туда передавать. Или вы используете статический анализ типов?