regall
Фев. 12, 2010 14:01:20
Есть такая проблема, что даже и не знаю, как тольком описать.
В общем, суть проблемы такова, что есть большой проект на джанге и с новым релизом (дофига чего влили, так что все описывать думаю нецелесообразно) он начал странно работать на production сервере (запущен как fastCGI), причем на девелоперском сервачке (через manage.py runserver) все работает на ура. Проблемы такого характера, что иногда вылетают ошибки 404, и практически на всех страницах выводятся неправильные данные (такое впечатление, что данные из БД ‘не дотягиваются’ ). В общем, систематизировать ошибки после множества попыток не удалось.
Так вот, я и не надеюсь, что из этого поста можно помочь решить проблему, но хотелось бы хотя бы получить направление, где собака может быть зарыта. Если кто сталкивался с таким - Памагитя люде добрыя!
Заранее спасибо.
P.S. Пока вижу только один путь - переписать всю аппу заново с ноля, вдруг повезет, а так не хочется …
slav0nic
Фев. 12, 2010 15:20:19
lighttpd? скорей всего что-то не то со средой окружения, сравни request.env на деве и продакшине
regall
Фев. 12, 2010 15:53:02
slav0nic, спасибо за быструю реакцию…
slav0nic
lighttpd? скорей всего что-то не то со средой окружения
nginx.
slav0nic
сравни request.env на деве и продакшине
С этим все в порядке.
Есть подозрения у меня, что это из-за кастомного фильтра по многим полям в админке (он устанавливается для всех полей в __init__.py аппы, а сам наследуется от некой гадости по имени django.contrib.admin.filterspecs.ChoicesFilterSpec)… Как понимаю админка грузится всегда, даже если мы по фронтенду лазим, а он скатина же работает путем дерибана строки GET запроса (по крайней мере это в самой джанге внутри так), вот где-то и законфликтовал….
P.S. Буду пытаться его отключать/ковырять, делиться наблюдениями дальше…
UPDATE:Также постоянно через каждую страницу вываливается
Unhandled exception
regall
Фев. 15, 2010 22:10:32
Проблема решилась.
Вкратце - был конфликт одинаковых ‘related_name’ в разных моделях. Непонятно две вещи:
1. Почему на джанговском девелоперском сервере (./manage.py runserver) работало, а на ‘./manage.py runfcgi’ - нет.
2. Ошибки в лог джанга начала давать только тогда, когда я эти модели разнес в разные app'ы (архитектурно так вначале надо было сделать, но опыта тогда было поменьше, когда я начинал делать).
Если кто может объяснить - не стесняйтесь, излагайте, завтра поковыряю внутренности джанги, если найду - обязательно поделюсь наблюдениями.