@pydjango

Страница 1187 из 1273
Konstantin
17.04.2018
13:28:17
Dude
17.04.2018
13:33:02
https://gist.github.com/dantyan/f7da855370dc0bb4f48747ce3157f6d1
/YOUR/PATH', '/YOUR/PATH/source , какие пути куда?

Dan
17.04.2018
13:33:25
полный путь до проекта

Dude
17.04.2018
13:36:12
в 1 я указал полный путь до проекта, где лежат аппы

Google
Dude
17.04.2018
13:36:14
в сурсе что?

Dan
17.04.2018
13:38:12
можно не указывать это у меня проект лежит в папке source

Dude
17.04.2018
13:38:14
путь до аппы?

Dan
17.04.2018
13:39:38
можешь просто указать один путь sys.path.extend(['/YOUR/PATH'])

Dude
17.04.2018
13:41:12
блин, надо чекать как у тебя settings.py выглядит

у меня кидает ModuleNotFoundError: No module named 'core'

Dan
17.04.2018
13:41:28
а точно

укажи аппку где лежит settings

Dude
17.04.2018
13:42:45
вторым элементом в массиве extend?

Dan
17.04.2018
13:42:57
эту строку можешь взять из manage.py os.environ.setdefault("DJANGO_SETTINGS_MODULE", "core.settings")

Dan
17.04.2018
13:50:38
сделай print(sys.path)

после sys.path.extend

Google
Dude
17.04.2018
13:53:34
https://pastebin.com/g9erHenY

Bogdan
17.04.2018
13:57:09
может конфликт имен? Combo.Combo.settings vs Combo.settings

вот это выглядит лишним '/home/user1/developing/ComboProj/Combo/Combo', '/home/user1/developing/ComboProj'

Dude
17.04.2018
14:00:23
Я создал папку и там сделал django-admin startproject Combo. Он же автоматом сделает мне вложенную папку с settings.py. Откуда конфликт имен ?

Dan
17.04.2018
14:00:28
по теории он должен использовать первый подошедший

почему в твоем случае не находит

сейчас не знаю, надо пробовать

если зальеш на github попробую запустить

Bogdan
17.04.2018
14:02:00
с самой структурой папок все ок. а скрипт запускаешь руками или через пичарм?

Dude
17.04.2018
14:02:08
пичарм

Bogdan
17.04.2018
14:03:07
отжимай галочки add ... to PYTHONPATH в параметрах запуска

Dude
17.04.2018
14:04:05
я видимо знаю что не так

Dan
17.04.2018
14:04:22
Dude
17.04.2018
14:05:37
ах, нет. Я попробовал запустить с включенным сервером через консоль

тут кидает такую ошибку ModuleNotFoundError: No module named 'Combo'

имеет значение то, где лежит сам скрипт ?

Bogdan
17.04.2018
14:06:21
на сервере пути другие наверно

Dude
17.04.2018
14:06:28
я его рядом с settings.py положил

Bogdan
17.04.2018
14:06:34
ты ж абсолютные прописал

Dan
17.04.2018
14:06:42
нет

Google
Dan
17.04.2018
14:06:53
ты же на своей машине запускаешь ?

Dude
17.04.2018
14:06:55
вдруг

да

на локалке

Bogdan
17.04.2018
14:07:13
а, я думал серв удаленный

Dude
17.04.2018
14:07:47
ага, тестирую прям на стейдже

нет

Bogdan
17.04.2018
14:08:24
запусти его просто через python script.py

без пичарма

Dude
17.04.2018
14:08:54
ах, нет. Я попробовал запустить с включенным сервером через консоль

тут кидает такую ошибку ModuleNotFoundError: No module named 'Combo'

это без пичарма

Bogdan
17.04.2018
14:09:23
ок, не так понял

тогда странно

Dude
17.04.2018
14:10:49
да полюбому с путями дичь какая-то

https://pastebin.com/9DNcwpFh

Помогитеееее

Eugene
17.04.2018
14:19:17
Combo/Combo ?

Dan
17.04.2018
14:20:02
Combo/Combo ?
не эт нормально когда проект создаешь он же подпапку сам создает с таким же именем

Dude
17.04.2018
14:24:15
Окей, переопределять имена не вариант я так понимаю

Google
Dude
17.04.2018
14:24:20
или что в итоге делать

Bogdan
17.04.2018
14:26:55
пробуй положить скрипт в ./ComboProj/Combo и запускать его от туда

Artem
17.04.2018
14:36:26
Ребят, сегодня мало чего понимаю, поэтому спрошу у вас, есть модель фоловеров: class Follow(AbstractModelDateClass): user = models.ForeignKey( settings.AUTH_USER_MODEL, related_name='user_%(class)s', verbose_name='User' ) follower = models.ForeignKey( settings.AUTH_USER_MODEL, related_name='follower_%(class)s', verbose_name='Follower user' ) ничего тут необычного. Задача, как-то закинуть это в аннотацию, что бы одним запросом посчитать количества фоловеров и фолловингов???

Bogdan
17.04.2018
14:37:41
точка отсчета юзер?

Artem
17.04.2018
14:37:52
Lf

Da

в табличку пишу текущего пользователя, и пользователя которого зафоловил

Bogdan
17.04.2018
14:39:38
а что за 'user_%(class)s'? те догадываюсь, что связанно с моделью юзера, но первый раз вижу

Artem
17.04.2018
14:39:58
дык, релейтед нейм

Bogdan
17.04.2018
14:40:18
саму заись с шаблоном не видел

Dan
17.04.2018
14:41:20
.annotate( folloers=Count('pk', filter=Q(user=USER)), following=Count('pk', filter=Q(follower=USER)), )

Dan
17.04.2018
14:41:41
у меня уже с головой тоже не очень

Bogdan
17.04.2018
14:42:07
так точка отсчета юзер же, а не связь

просто Count по related_name по идее

Dan
17.04.2018
14:42:53
там еще есть понт с группировкой

или нет

все я уже тоже не соображаю

Artem
17.04.2018
14:43:36
в 1.11 еще нет свойства - filter=Q

Google
Bogdan
17.04.2018
14:43:59
так там же select (select ... join on realted_name=auth_users.pk) as count

или что-то в духе вроде

Artem
17.04.2018
14:44:31
оно и так джоинит табличеку

SELECT "users_user"."id", "users_user"."email", "users_user"."is_active", COUNT("users_follow"."follower_id" = 1) AS "following_cnt", COUNT("users_follow"."user_id" = 1) AS "follower_cnt" FROM "users_user" LEFT OUTER JOIN "users_follow" ON ("users_user"."id" = "users_follow"."user_id") WHERE "users_user"."id" = 1 GROUP BY "users_user"."id";

Dude
17.04.2018
14:45:48
эта поеботина сработала

Bogdan
17.04.2018
14:45:58
а, он так это делает.

Dude
17.04.2018
14:46:02
когда я вынес на 1 уровень выше

Bogdan
17.04.2018
14:46:17
тогда да, жопа. предлагаю rawsql - меньше боли будет

Artem
17.04.2018
14:46:42
да я все подумываю апнуться до 2ой ветки

Bogdan
17.04.2018
14:47:20
через группировку такой запрос вообще адекватно не написать вроде как

дык с 1.11 на 2.* легко перехать - поправить пути или импортнуть из депрекейтед

Artem
17.04.2018
14:48:55
шас попобую апнуть, посмотрю что упадет

Dan
17.04.2018
14:48:57
https://docs.djangoproject.com/en/2.0/ref/models/expressions/#subquery-expressions

в 1,11 есть подзапросы

Bogdan
17.04.2018
14:49:22
?

Artem
17.04.2018
14:50:59
эт меня устроит

Dan
17.04.2018
14:51:31
.annotate( folloers=Subquery(.filter(user=USER)), following=Subquery(.filter(follower=USER)), ) получается что то вроде ?

покажешь запрос ?

Artem
17.04.2018
14:51:43
шас

Bogdan
17.04.2018
14:52:10
только вместо USER OuterRef('pk') наверно

Страница 1187 из 1273