Нужно обрабатывать два урла. Один из них — более частный случай первого.
По идее, надо более общий случай поставить после частного, который будет обрабатываться первым. Но этого не происходит. И ещё я никак не пойму, как использовать отрицание в регулярке урла.
# Частный случай
url(r'^serial/(?P<serial_id>[\d]+)/s(?P<season_number>[\d]+)/$', video.season_view),
# Общий случай
url(r'^(?P<level0>([\w\d_-]+))/(?P<level1>([\w\d_-]+))/(?P<level2>[\w\d_-]+)/$', category.level3),
/serial/10/s12/
должен обрабатывать частный случай
/foo/bar/baz/
— общий.
Но общий перехватывает первый url.
Вопросы:
1) Что не так? Почему не работает порядок?
2) Можно ли для общего случая отдельно регуляркой запретить перехват /serial/ ? Как?