Я пока неопытный и учусь, поэтому не судите строго.
По-моему, как раз, когда ты неопытный, судить нужно максимально строго, чтобы выправить руки в нужное русло как можно быстрее. А если ты от критики расстроишься и бросишь это всё - ну и ладно, меньше конкуренция.
Я уже сто раз тут это писал и ещё напишу, пока будет эта жесть.
Вот создал ты модель вакансий. Ты моделью описываешь единичную сущность, а назвал Vacancies - множественным числом.
Дальше: вот у тебя есть модель вакансий. Зачем ты каждому полю даёшь имя, дублирующее имя модели? (Я про vac_*). Создал ты вакансию, да:
vacancy = Vacancy.objects.create(...)
И пошёл получать атрибуты:
vacancy.vac_name # Красиво, п****ц, да?
Сокращённые названия атрибутов - красота. Через полгода ты понятия не будешь иметь, что за vac_zan, vac_usl, vac_cat. А человек, который будет с тобой работать в команде или рефакторить это после тебя получит отличный набор головоломок в подарок к коду.
Просто шикарные хитросплетения русского и английского языков. Твой код отражает твою многогранность и неповторимость. Ты - полиглот. Так ты думаешь, когда городишь эту ахинею?
Я, к сожалению, прямо сейчас занят рефакторингом подобного кода и первые два дня я плакал над этим кодом и отказывался за него садиться. Заказчик уговорил с условием, что я полностью переписываю ту жесть.
Ответ на вопрос:
https://pypi.python.org/pypi/django-widget-tweaks