Причина, по которой это происходит, в том, что Session
является конкретной моделью. Здесь происходит следующее: вы указываете, что хотите наследовать таблицу Session
. Это реализовано в слое SQL путем создания новой таблицы, которая содержит, кроме дополнительных полей, OneToOneField
для родительской таблицы, и, кроме того, она также действует как первичный ключ. Для получения дополнительной информации о том, как Django обрабатывает наследование модели, см. Раздел Наследование нескольких таблиц в документации .
Если вы хотите реализовать собственный сеанс модель, вы должны наследовать от AbstractBaseSession
модель [Django -doc] . Это модель abstract , имеющая поля sesion_key
, session_data
и expire_date
. Затем вы можете переопределить или «обезьяньим патчем» get_model_class
из SessionStore
.