Михаил Кростелев, потому что когда пользователей 19, то условие работает и добавляется новый студент в группу - 20.
когда студентов становится 20 и я пытаюсь добавить 21, то идёт подсчет и валидатор видит, что число студентов == 20, следовательно нового добавлять нельзя.
Если бы было просто >20, то я бы у 21 студента выбирал группу (но так как этот объект ещё не создан) валидатор бы считал, что объектов ещё 20 и пропускал бы создание 21 объекта
ТО есть валидация срабатывает до создания объекта, а не после, поэтому если уже 20 объектов, то 21 создать нельзя
Виктор Голованенко, проблему решил) заключалась в том, что при парсинге локально все было ок, при парсинге удалённо - нужно было добавить кодировку utf8, чтобы информация отображалась корректно, ну и собственно когда посмотрел какой файл Парсинга приходит на удалённый сервер, увидел, что возникает еще и капча, а я её не предусмотрел.
Виктор Голованенко, благодарю! Сейчас попробовал развернуть приложение на вм через yandex cloud, тоже безрезультатно.
Приложил скриншот логов первичного запуска бота локально и на сервере, всё равно есть разница. Локально данные парсятся, удалённо - тоже нет.
Виктор Голованенко, Да, хранит, теперь понятно, я почему-то долго думал, но до варианта из вашего ответа не додумался.
На pythonanywhere получается, аналогично. Есть ли какие-то ещё бесплатные хостинг сервисы, где не временная файловая система?
upd: хотя с другой стороны странно - при первом запуске бот должен был отправить сообщение в телеграм, взаимодействия с предыдущей файловой системой при первом запуске попросту нет, но сообщение не отправляется.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
когда студентов становится 20 и я пытаюсь добавить 21, то идёт подсчет и валидатор видит, что число студентов == 20, следовательно нового добавлять нельзя.
Если бы было просто >20, то я бы у 21 студента выбирал группу (но так как этот объект ещё не создан) валидатор бы считал, что объектов ещё 20 и пропускал бы создание 21 объекта
ТО есть валидация срабатывает до создания объекта, а не после, поэтому если уже 20 объектов, то 21 создать нельзя