
Илья
03.04.2017
09:04:28
Менедежеру проекта например сказал. Зваисит от структуры команды,
Менеджер сказалд дизайнеру, дизайнер нарисовал, отдал верстаку. Верстак сделал правку.\

Михаил
03.04.2017
09:05:52
Окей, но у вас в команде все в курсе чехарды с лишними запросами
Менеджер говорит кодеру - "посмотри, хотим вывести новые поля, подкрути бекенд, пока дизайнер их рисует"

Google

Михаил
03.04.2017
09:06:59
Кодер крутит. Все, что надо, за один раз за итерацию
Не отвлекаясь на запросы верстальщика каждые пять минут

Илья
03.04.2017
09:08:52
Ты можешь попытаться поченить это с помощью процесса, но это не ознапчает что нет проблемы. Я видел проекты на джанге где 800 sql запрпосов на страницу. Из-за таких элементарных вещей. Да и у самого посмототянно такие проблемы вознимают. Пишешь пишешь, смотрешь у тебя вдруг 300 запросов на странице. А потом оказалось, что гдето там добавили теги или еще что-то.

Михаил
03.04.2017
09:10:13
Так исключения-то зачем? Ставишь тулзу для дебага и следишь за числом запросов на странице
Эффект тот же

Илья
03.04.2017
09:10:47
Верстальщик следить чтоли будет? Я эту страницу месяц назад сделал и большее ее не трогал.

Senpos
03.04.2017
09:11:45
А такие вещи тестированием могут покрываться?
В плане количества запросов относительно количества объектов, или что-то в этом роде.

Михаил
03.04.2017
09:12:00
Почему нет?
С такой панелшью даже ребенок разберется

Илья
03.04.2017
09:13:12
Ну например debug тулбар не работает в jinja2. Во вторых он сильно тормозной. В третьих SQL запросы это не отвественность версиальщика.

Pavel
03.04.2017
09:14:12
Тестируйте время отклика?

Google

Senpos
03.04.2017
09:15:06

Илья
03.04.2017
09:15:50
Это лучше, потому что проблема в любом случае должна быть пофиксена. И лучшее ее пофиксить сразу, чем потому мучаться искать, откуда взялся этот запрос.

Pavel
03.04.2017
09:16:48
В проекте были сломанные миграции. Хочу сделать новые. БД уже существует. 1) удалил все файлы миграций в проекте. 2) удалил все записи в таблице django_migration. 3) makemigrations. 4) migrate —fake-initial. Получил ошибку
column "name" of relation "django_content_type" does not exist
. Погуглил, говорят, там какие-то изменения в джанге были, т.е. я так понял, это не совсем мой косяк, а побочный эффект от изменений джанги. Кто-то может подробнее про это рассказать?

Илья
03.04.2017
09:17:19
Перезапусти девсервер

Pavel
03.04.2017
09:17:55
причем тут это?

Илья
03.04.2017
09:18:11
просто сделай

Pavel
03.04.2017
09:19:06
я миграции делаю с локального ПК, просто подключил БД нужную в настроках
не пойму, что перезапускать

Михаил
03.04.2017
09:19:44
Возможно, поменялся порядок создания таблиц в новой миграции, и у тебя где-то внешний ключ ссылается на несуществующую колонку или таблицу?

Pavel
03.04.2017
09:20:06
у меня модели полностью БД соответствуют

Илья
03.04.2017
09:20:08
Ну джанго прилложение тогда перезапусти там где миграции деалал

Pavel
03.04.2017
09:21:01

Михаил
03.04.2017
09:21:07
Мб код миграции куда-нибудь на пастбин закинешь?

Pavel
03.04.2017
09:22:03

Илья
03.04.2017
09:22:35
Ну там с контент тайпом какая-то магия, оно создается при запуске сервера, а не при миграциях.

Pavel
03.04.2017
09:23:08
сейчас апп запущу локально
ничего не поменялось
там есть такая запись, в одном из файлов
dependencies = [
('auth', '0007_alter_validators_add_error_messages'),
('contenttypes', '0002_remove_content_type_name'),
]
. но в таблице django_content_type nameуже нет, т.к. моя БД существует УЖЕ
говорят, что это какие-то изменения джанги были в 1.8. Не пойму, почему я эти проблемы должен решать щас...

Михаил
03.04.2017
09:28:50
Хм. Тогда все, что могу предложить - руками добавить эту колонку или попробовать удалить эту зависимость, если это в своей миграции

Google

Михаил
03.04.2017
09:30:06
Ну или очень извращенный вариант - сдампить все содержимое бд, снести ее целиком, накатить все миграции, и потом залить содержимое назад

Pavel
03.04.2017
09:31:26
ну это геморный вариант)

Михаил
03.04.2017
09:33:28
Я бы руками просто добавил эту колонку, все равно очевидно, что миграция из зависимости ее удалит, так что в базе потом она мешаться не будет

Pavel
03.04.2017
09:35:04
это должно сработать, но я лучше сейчас почитаю, почему так вообще происходит, почему джанго создает колонку, затем ее удаляет для служебных таблиц

Михаил
03.04.2017
09:36:10
Судя по тому, что я нагуглил, это реально просто отличия в бд разных версий. Но я глубоко в это не вникал

Pavel
03.04.2017
09:36:45
accounts
[ ] 0001_initial
[ ] 0002_emailconfirmation_user
admin
[ ] 0001_initial
[ ] 0002_logentry_remove_auto_add
auth
[ ] 0001_initial
[ ] 0002_alter_permission_name_max_length
[ ] 0003_alter_user_email_max_length
[ ] 0004_alter_user_username_opts
[ ] 0005_alter_user_last_login_null
[ ] 0006_require_contenttypes_0002
[ ] 0007_alter_validators_add_error_messages
competitions
[ ] 0001_initial
[ ] 0002_auto_20170403_1155
contenttypes
[X] 0001_initial
[ ] 0002_remove_content_type_name
core
[ ] 0001_initial
[ ] 0002_auto_20170403_1155
fileimport
(no migrations)
guardian
[ ] 0001_initial
news
[ ] 0001_initial
roles
[ ] 0001_initial
[ ] 0002_auto_20170403_1155
sessions
[ ] 0001_initial
users
[ ] 0001_initial
это showmigrations

Senpos
03.04.2017
09:37:17
По поводу select_related, я так понимаю, если его не делать, то в моем случае так же порождаются дополнительные запросы к базе?
Листинг: http://vpaste.net/iSf0U


Михаил
03.04.2017
09:37:51
http://stackoverflow.com/questions/30545562/django-column-name-of-relation-django-content-type-does-not-exist
Django 1.8 changed its internal data base structures and the column name is no longer existing in the data base (see is taken from the verbose_name attribute of the model).
To adress this, a migration contenttypes-0002_remove_content_type_name is automatically created.
Usually, all your migrations should ahve been applied and this should be recorded in the table django_migrations and all should be fine.
If you for example did a backup of your data base using dumpdata, cleared (flushed) all data base content, and loaded the dump with loaddata, your django_migrations table remains empty.
Thus, migrate tries to apply all migrations again (even though your tables are existing), and it fails when it tries to remove the non-existing column name.

Pavel
03.04.2017
09:38:34

Senpos
03.04.2017
09:38:49

Михаил
03.04.2017
09:39:05
Это к вопросу, зачем Джанга эту колонку создает, потом удаляет

Ruslan
03.04.2017
09:51:35
но в данном случае писали нормальные люди и оно лечится

Pavel
03.04.2017
09:54:42
я вот так свою регистрацию написал с отправкой по email, ибо все батарейки были такие универсальные, что содержали кучу мне не нужных вещей и делали больше таблиц, чем могло бы быть

Senpos
03.04.2017
10:01:45
Подскажите что за панель, пожалуйста.
Нашел: https://github.com/jazzband/django-debug-toolbar

Михаил
03.04.2017
10:35:10
Ага, она самая

Centrino
03.04.2017
11:03:34
какого типа создать поле у модели, чтобы оно было похоже на choiceField, но в базе не хранились возможные значения?

Google

Dan
03.04.2017
11:13:48
в смысле не хранились ?
и зачем тогда создавать моле ?

Centrino
03.04.2017
11:16:34
чтобы можно было в админке выбрать из нескольких вариантов ответа

amureki
03.04.2017
11:16:58

Centrino
03.04.2017
11:17:39
если создам обычный charfield, то как в админке сделать чтобы нужно было выбрать из нескольких вариантов?

amureki
03.04.2017
11:19:06
https://docs.djangoproject.com/en/1.10/ref/models/fields/#choices

Сергей
03.04.2017
11:19:09
choices=ТВОИ ЧОИСЫ

Centrino
03.04.2017
11:19:58
о, спасибо. Всем чойсов

Артем
03.04.2017
11:27:22
Народ кто "щупал" django-channels? Стоит оно того или лучше на aiohttp переползать?

Anb
03.04.2017
11:31:11
подскажите как лучше хранить конфиг сайта, вроде title сайта меню и тп. в базе
такая single object таблица в бд

Eugene
03.04.2017
11:33:04
django-solo
https://github.com/lazybird/django-solo

Anb
03.04.2017
11:35:55
thx

Senpos
03.04.2017
11:40:03

Denis
03.04.2017
11:44:31
Народ Есть ли какая нить штука, чтоб вывела суммарные release notes с версии на версию? Ну то есть 1.7 -> 1.10 и посмотреть все деприкейтед, etc...

Serge
03.04.2017
12:02:57

Pavel
03.04.2017
13:37:11

amureki
03.04.2017
13:38:41
и переходить надо аккуратно в случае больших приложений, по одной версии за раз

Denis
03.04.2017
13:39:50

Google

Pavel
03.04.2017
13:42:52

Denis
03.04.2017
13:48:19
Я к тому, чтоб не пришлось переписывать одно и тоже по несколько раз. Допустим в 1.8 выпилили какой то метод, мол юзайте теперь метод2, однако этот метод2 выпиливатся в 1.10 и нужно юзать метод3... так вот удобнее было бы иметь инфу метод -> метод3, а не метод->метод2->метод3
Если нет такого, ну что ж... будем по старинке)))

Dan
03.04.2017
15:12:55
народ подскажите
у меня есть N записей у каждой записи есть tags
нужно вытащить максимально похожие по тегам записи

Denis
03.04.2017
15:14:07
https://www.postgresql.org/docs/9.1/static/fuzzystrmatch.html

Pavel
03.04.2017
15:14:37

Denis
03.04.2017
15:15:22
В 1.10 добавили поддержку postgresql триграмов
ну и если не лень- можно настроить django-haystack

Dan
03.04.2017
15:15:49

Serge
03.04.2017
15:19:11
У похожести должен быть какой-то критерий, "похожие" - понятие размытое. Обычно можно использовать склоения тезариуса и search в постгри.

Dan
03.04.2017
15:19:49
наверно не совсем правильно объяснил
нужно вытащить записи отсортированные по максимальному количеству общих тегов

Denis
03.04.2017
15:21:43
Тогда можно использовать функции включения из postgres.arrayfield
https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/fields/#arrayfield

Dan
03.04.2017
15:24:43
ну и надо сказать что теги хранятся в отдельной таблице и связыны many to many

Дмитрий
03.04.2017
16:49:11
как то тут ссылка на трекер на джанго пролетала, не могу найти, напомните плз
трекер для задач, сделано,не сделано и тд

amureki
03.04.2017
16:49:42
taiga.io

Дмитрий
03.04.2017
16:51:16
taiga.io
спасибо. а такой чтобы себе на хостинг поставить?

amureki
03.04.2017
16:51:48
Ну он на гитхабе в открытом доступе)