Дарья Шевелёва
S:17:20:22 28.07
R:17:23:34 28.07
Доброе утро
1) Отличная работа! репозиторий оформлен как надо. Маленький нюанс - если делать импорт бэкапа полного, то migrate уже не нужен. В идеальном мире желательно предоставлять пользователям сервиса возможно создавать БД со своими реквизитами, поэтому под дампом мы понимаем не в прямом смысле pg_dump, а команду fill_db. Файл дампа завязан на названиях, выбранных разработчиком. У меня например уже есть база с названием organizations, а докер с 14 постгресом нет времени сейчас ставить, поэтому пришлось немного покостылить. То есть подытожим: migrate восстанавливает схему БД по файлам с миграциям, а команда fill_db ее заполняет.
2) что-то у меня зависимость развалилась psycopg2==2.9.6, поэтому доставил psycopg2-binary==2.9.3. Это не замечание, а просто ремарка
двигаемся далее
3) чувствительные данные (аутентификация) лучше выносить из файла settings.py, для этого есть переменные окружения. Обычно в проекте лежит файлик .env, который содержит в себе всю чувствительную информацию, а settings.py с помощью встроенной библиотеки os эти данные подхватывает
4) на будущее DEBUG = True перед отправкой не забывать переставлять в false, остальные неиспользуемые можно отключать, например, USE_I18N = True USE_L10N = True
5) заполнил я базу миллионом тестовых данных с помощью fill_db, всё работает, но на главной странице миллион записей конечно же на встроенном в джанго тестовом сервере секунд 40 рисовался, лучше весь список организаций нигде не выводить - даже в админке, мы же используем только поиск по ним. Поиск работает корректно
6) еще прикол конечно случился с миграциями - psycopg2.errors.InsufficientPrivilege: permission denied to create extension *btree_gin*, пришлось админскую учетку использовать почему-то. Вообще я рекомендовал бы убрать дамп из репозитория, а пользоваться связкой migrate-fill_db, так как дамп еще чувствителен к версии постгреса, я использую 13, поэтому мне пришлось еще локаль менять ручками
7) посмотрел я код миграций, кажется похоже на правду, но проверить до конца недели не смогу, поэтому будем считать, что у тебя получилось. вот как выглядит триггер, но без стоп-слов - https://pastebin.com/5pQ675DH
8) за тесты отдельный респект, правда они у меня не запустились)
В целом, отличная работа, особенно понравились докстринги, всё чистенько и аккуратненько с комментариями, ты молодец
Всё, что написано выше - это не замечания, а фидбек