Size: a a a

Django [ru] #STAY HOME

2019 July 19

e

e\/gen in Django [ru] #STAY HOME
M
Вот, хотя не очень понял почему так
и если вдруг окажется, что к видео не привязано ни одного вареса, то упадёт с ошибкой None type object has no attribute name
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Всем привет. Такая ситуация, надо написать тесты для rest api, у меня используется celery. Я попробовал прописать настройки always eager, чтобы во время проката тестов задачи выполнялись синхронно. В одной из задаче делаются некоторые вычисления на основе модели и потом в бул переменную записываеся True. Далее по тесткейсу я иду по другому ендпоинту, который как раз проверяет эту переменную у объекта, но почему-то возвращается False, хотя та задача вызывается синхронно до похода на этот урл, в чем может быть проблема?
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Sergei Mikhailov
Всем привет. Такая ситуация, надо написать тесты для rest api, у меня используется celery. Я попробовал прописать настройки always eager, чтобы во время проката тестов задачи выполнялись синхронно. В одной из задаче делаются некоторые вычисления на основе модели и потом в бул переменную записываеся True. Далее по тесткейсу я иду по другому ендпоинту, который как раз проверяет эту переменную у объекта, но почему-то возвращается False, хотя та задача вызывается синхронно до похода на этот урл, в чем может быть проблема?
Не совсем по твоей ошибке именно, но я вижу в твоём сценарии как минимум две проблемы архитектурного плана.

1) always_eager не рекомендуется использовать для тестов - об этом прямо в доке написано
2) у тебя один тест проверяет сразу два эндпойнта апи?
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Timur Daukaev
Не совсем по твоей ошибке именно, но я вижу в твоём сценарии как минимум две проблемы архитектурного плана.

1) always_eager не рекомендуется использовать для тестов - об этом прямо в доке написано
2) у тебя один тест проверяет сразу два эндпойнта апи?
а нет ссылочки на гайды по тестированию с сельдереем?
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Sergei Mikhailov
Всем привет. Такая ситуация, надо написать тесты для rest api, у меня используется celery. Я попробовал прописать настройки always eager, чтобы во время проката тестов задачи выполнялись синхронно. В одной из задаче делаются некоторые вычисления на основе модели и потом в бул переменную записываеся True. Далее по тесткейсу я иду по другому ендпоинту, который как раз проверяет эту переменную у объекта, но почему-то возвращается False, хотя та задача вызывается синхронно до похода на этот урл, в чем может быть проблема?
А так - может, у тебя объект закешировался до выполнения таска?
Попробуй после таска его явно из базы дёрнуть

(У моделей прям есть метод refresh_from_db)
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Сейчас посмотрю, спасибо
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Sergei Mikhailov
а нет ссылочки на гайды по тестированию с сельдереем?
Только такое могу предложить: https://docs.celeryproject.org/en/latest/userguide/testing.html
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Timur Daukaev
А так - может, у тебя объект закешировался до выполнения таска?
Попробуй после таска его явно из базы дёрнуть

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

TD

Timur Daukaev in Django [ru] #STAY HOME
Sergei Mikhailov
по идее не в этом дело, так как я иду на второй эндпоинт и как раз дергаю модельку из базы, в которой уже той таской должно быть перезаписано поле, но оно ,почему-то, не перезаписано))
А, верно

А сеттинги точно правильные подхватываются, с always_eager=True?
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Timur Daukaev
А, верно

А сеттинги точно правильные подхватываются, с always_eager=True?
Да, сто пудов, и задача, по идее, выполняется, так как если старым добрым принтом чего-нибудь выводить в таске, то выводится, хотя селери я отдельно не запускал. Значит конфиг точно подтягивается, короче, непонятно.
источник

TD

Timur Daukaev in Django [ru] #STAY HOME
Короче, моя рекомендация - не чинить эту проблему, а тестировать каждый компонент отдельно :)
источник

SM

Sergei Mikhailov in Django [ru] #STAY HOME
Спасибо
источник

PS

Philipp Shayzhanov in Django [ru] #STAY HOME
Ребята, серчу и пытаюсь понять как малой кросью для фронта сокеты реализовать. Не хочу channels из-за redis
источник

PS

Philipp Shayzhanov in Django [ru] #STAY HOME
Какие варианты, подскажите, пожалуйста
источник

AV

Arseniy Volobuev in Django [ru] #STAY HOME
Гляньте, плз, почему этот кусок не работает https://pastebin.com/qDjuv5y4
источник

AS

Arseny Safoshin in Django [ru] #STAY HOME
Traceback или что именно не работает?
источник

AV

Arseniy Volobuev in Django [ru] #STAY HOME
Arseny Safoshin
Traceback или что именно не работает?
источник

AV

Arseniy Volobuev in Django [ru] #STAY HOME
источник

ZR

Zi Roni in Django [ru] #STAY HOME
Если я в модели уберу поле и выполню миграции, оно с базы удалит поле и всю инфу в них?
источник

AV

Arseniy Volobuev in Django [ru] #STAY HOME
рилейтед не подтягивается
источник