@pydjango

Страница 507 из 1273
Ruslan
30.08.2017
13:32:46
Тоже интересно
ну чтобы не совсем дебил был

Spacehug
30.08.2017
13:35:40
Есть аппка с конфигом проекта, в котором синглтоном указаны всякие штуки, типа время_рассылки (TimeField). Есть аппка с рассылкой, где указан celery-таск (@shared_task) с этой самой рассылкой, который пинается через Редис. Где можно подглядеть как попинывать этот самый таск в это самое время раз в сутки (не через крон, естественно)?

serbernar
30.08.2017
13:45:20
Есть аппка с конфигом проекта, в котором синглтоном указаны всякие штуки, типа время_рассылки (TimeField). Есть аппка с рассылкой, где указан celery-таск (@shared_task) с этой самой рассылкой, который пинается через Редис. Где можно подглядеть как попинывать этот самый таск в это самое время раз в сутки (не через крон, естественно)?
today = datetime.now().date() start = datetime(today.year, today.month, today.day, 1, 0) if datetime.now() > start: start = start + timedelta(days=1) start_0100 = pytz.utc.localize(start) # Таск получения информации о, раз в сутки, в 01:00. Таймаут 2 минуты. schedule( func='spiders.tasks.task_api_fetch_new_', schedule_type=Schedule.DAILY, next_run=start_0100, q_options={ 'task_name': 'perform-name-apigroups-task', 'timeout': 2 * 60, }, )

Дмитрий
30.08.2017
13:49:01
Привет, подскажите, пожалуста, где можно бесплатно развернуть проект на джанго?

Google
Maksim
30.08.2017
13:49:04
я когда то делал небольшой проект для себя, даже не проект. а так, баловался, использовал sqlite, скажите, есть ли нормальный конвертор в mysql postgresql

Дмитрий
30.08.2017
13:49:16
с mysql

xPushkin
30.08.2017
13:49:33
localhost
Лол.

Дмитрий
30.08.2017
13:49:35
кроме heroku

xPushkin
30.08.2017
13:49:37
EC2

serbernar
30.08.2017
13:49:48
any vps

Дмитрий
30.08.2017
13:49:52
В интернет вылажить

serbernar
30.08.2017
13:50:28
200 рублей есть?

xPushkin
30.08.2017
13:50:41
Так можно бесплатно

Дмитрий
30.08.2017
13:50:52
есть

Google
xPushkin
30.08.2017
13:51:52
Дмитрий
30.08.2017
13:52:05
А на подобие heroku?

Дмитрий
30.08.2017
13:52:11
с mysql
Эээ localhost?

Дмитрий
30.08.2017
13:52:31
localhost не подходит

Дмитрий
30.08.2017
13:52:57
Может я задаю странные вопросы - но почему?

Дмитрий
30.08.2017
13:53:31
Не хочу на localhost

Artyem
30.08.2017
13:54:42
А как же абстракция?
с абстракциями и знанием SQL, можно добиться большего, чем только с абстракциями.

serbernar
30.08.2017
13:55:39
А что... вскале уже не поддерживает рефералки?

Сцуко

Artem
30.08.2017
13:55:48
с абстракциями и знанием SQL, можно добиться большего, чем только с абстракциями.
а если к этому еще аккуратно присыпать NoSQL, получится адовая смесь

serbernar
30.08.2017
13:56:12
localhost не подходит
vscale.io, digitalocean.com

Artem
30.08.2017
13:56:25
фскале ниоч...

Nazar
30.08.2017
13:56:29
Подскажите пожалуйста, а как заставить django-debug-toolbar отображаться горизонтально?

serbernar
30.08.2017
13:56:33
Чем не оч?

Spacehug
30.08.2017
13:56:36
Господа, а подскажите - нафига в вакансиях джангистов часто встречается требование знания sql-запросов? Есть такие случаи когда лучше использовать нативный SQL, а не django ORM?
Бывают случаи, когда django-ORM не поможет. Более того, бывают случаи, когда не поможет даже extra - нужно будет писать голый запрос. На такие случаи знание SQL как раз и пригождается, чтобы писать запрос через raw

Дмитрий
30.08.2017
13:56:42
serbernar
30.08.2017
13:57:00
У меня там две машины, полет нормальный

Nazar
30.08.2017
13:57:02
Artem
30.08.2017
13:57:28
Чем не оч?
ну мне как-то не зашло... пришлось резать правила для iptables, и там как-то с тех свойствами слабовато

и потом бывает, что работает ЦентОсь,работает и никому не мешает. Как вдруг, аппка упала, смотрю какого хера - ребут или по нагрузке упало

Google
Spacehug
30.08.2017
13:58:16
Вот мне совсем недавно пришлось писать голый SQL-запрос - нужно было посчитать количество обсуждений, комментов к ним и лайков, которые оставляет пользователь, причём с условиями - по дате создания, по зависимым моделям и ещё кучу всякого говна и выдать всё это не в 5 тысяч запросов, а в 1. Django-ORM в такое натурально не может.

Spacehug
30.08.2017
13:58:52
Artem
30.08.2017
13:58:57
+ у тебя есть возможность писать свои агграгациии, что уже умеет сама БД

xPushkin
30.08.2017
13:58:58
Может )

Илья
30.08.2017
13:59:31
Господа, а подскажите - нафига в вакансиях джангистов часто встречается требование знания sql-запросов? Есть такие случаи когда лучше использовать нативный SQL, а не django ORM?
Ну как минимум ты должен знать в какой SQL запрос трансофрмируется твой вызов ORM, чтобы не надать фигню или чтобы все не тормозило адски. А вообще джанго ORM и вообще любой ORM это довольно ограниченная штука и в более менее крупных проектах всегда приходится писать большие SQL запросы, которые на ORM не написать.

Artem
30.08.2017
13:59:46
но за что зуб даю - SQLAlchemy смогЁт полюбасу!

Spacehug
30.08.2017
14:00:17
Ну давайте. Вот есть модель юзера, у модели юзера через форейнкей привязаны обсуждения, комменты и лайки, у лайков нет is_delete (софт-делит), у обсуждений и комментов - есть. При этом у обсуждений author_id - id юзера, у комментов и лайков - user_id. Давайте, напишите мне ОРМкой фильтр для кверисета :)

serbernar
30.08.2017
14:00:17
Бекапы есть, даже домен можно привязать(не пробовал), ссшключи есть, приложения тоже есть(типа редмайн, с которым можно наворотить, дженкинс есть(правда смысла в нем не вижу изкаропки))

Илья
30.08.2017
14:00:33
но за что зуб даю - SQLAlchemy смогЁт полюбасу!
Может сможет, но пробой это выглядит настолько ужасно, что лучше голый SQL написать.

Spacehug
30.08.2017
14:00:55
Я, к слову, сделал 1 запрос, который мне не только вынул все данные, но и сделал это не за экспоненциально увеличивающееся время от количества юзеров, а за 40 мс

serbernar
30.08.2017
14:02:11
Алхимией пользоваться надо уметь, в неумелых руках и палка стреляет

Artem
30.08.2017
14:02:23
+1

serbernar
30.08.2017
14:03:15
А на джанге обычно стараются не писать сложные запросы, а если они и появляются, то пишут в rawsql

Spacehug
30.08.2017
14:04:09
к твоему вопросу, добавляются CASE ... WHEN, иннер джионы по конкретному полю, и аннотации для каунтера
А, да, мне не всю модель надо вынуть, а исключительно id юзеров и количество получившегося

Google
Илья
30.08.2017
14:04:49
Ну элементарно, джанга даже не умеет "ON CONFLICT UPDATE"

Artem
30.08.2017
14:08:11
Ну давайте. Вот есть модель юзера, у модели юзера через форейнкей привязаны обсуждения, комменты и лайки, у лайков нет is_delete (софт-делит), у обсуждений и комментов - есть. При этом у обсуждений author_id - id юзера, у комментов и лайков - user_id. Давайте, напишите мне ОРМкой фильтр для кверисета :) User.objects.annotate(cnt_likes=Count('id'), cnt_comments=Count('id'), cnt_topics=Count(Case(When(autor_id=F('user_id')))).only('id', 'cnt_likes', 'cnt_comments', 'cnt_topics').prefetch_related('comments', 'likes', 'topics').filter(topics__author_id=self.request.user.pk, topics__is_delete=False, comments__is_delete=False)

если правильно понял, то примено в таком виде

Spacehug
30.08.2017
14:10:51
Угу, только посчитать нужно не всё, а то, у чего есть is_delete=True/is_delete=False и date_create в диапазоне дат. Говорю же, по зависимым полям - проще уже голый SQL

Spacehug
30.08.2017
14:12:07
И ещё один момент - если в фильтре указаны только удалённые - в лайках должен быть 0 :)

Artem
30.08.2017
14:12:21
окей, в кейзы запихать 0

Spacehug
30.08.2017
14:12:23
Кстати, твой запрос на тестовой базе в 200 пользователей выполнился за 32 секунды.

Artem
30.08.2017
14:13:10
оно даже сработало? О_о или так прикинул

Spacehug
30.08.2017
14:13:47
Ну, я поменял названия на существующие и запустил

Artem
30.08.2017
14:13:58
ну уж сказал, 32 секунды... тут нету случая о n+1 запросах

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

Pavel
30.08.2017
14:14:24
Ну, я поменял названия на существующие и запустил
А скуэл код этого запроса на что похож?

Artem
30.08.2017
14:14:43
и как выглядит твой SQL

Spacehug
30.08.2017
14:18:16
мой вот https://pastebin.com/yy0PgxUe

(Без фильтров по is_delete и date_created)

Artem
30.08.2017
14:19:43
мой вот https://pastebin.com/yy0PgxUe
с 3 мя вложенными запросами?

Spacehug
30.08.2017
14:20:01
д.

Google
Artem
30.08.2017
14:20:20
насколько я сейчас помню в 1.10 есть аннотация - Subquery() и туда закидывать можно целиковые запросы, и без проблем повторю твой запрос один в один

дистинкт в каунтере, тоже есть

так что ничего крутого в твоем запросе нету, обычный! Я бы еще тебя понял, если ты эти три запроса вынес в оконные функции, тут да! Не вопрос!

V
30.08.2017
14:21:58
есть кто из Калининграда?

нужен фидбек

Spacehug
30.08.2017
14:22:25
Я и не говорю, что он крутой, я голый не-ормный SQL освоил буквально на прошлой неделе. С другой стороны, [2017-08-30 19:20:25] 500 rows retrieved starting from 1 in 25ms (execution: 20ms, fetching: 5ms)

Artem
30.08.2017
14:23:10
а весь EXPLAIN можешь кинуть?

Spacehug
30.08.2017
14:27:01
Artem
30.08.2017
14:28:51
https://pastebin.com/gL61McCe
у тебя тут довольно затратная операция на склеивание всех трех подзапросов в единую выборку

Spacehug
30.08.2017
14:32:38
Дык этсамое, rows=2340954. База с 5к юзеров

.
30.08.2017
14:43:14
Гайз, подскажите кто как делает поле для цвета в формах. colour = forms.CharField(label='Цвет', widget=forms.TextInput(attrs={'type': 'color'}))Пробую как-то так, но проблема в том, что я не могу поставить значение в null. Если я правильно понял, то это вообще невозможно для type=color.

Reshavi4
30.08.2017
14:48:25
Есть у кого ссылка на ключь для пичарма?

Archer
30.08.2017
14:49:41
может у кого и на mobaXterm тогда есть?

Dan
30.08.2017
14:51:37
colour = forms.CharField(required=False ?

.
30.08.2017
14:52:00
когда форма отрисовывается, там уже есть значение

браузер пихает туда черный цвет

Ahmed
30.08.2017
16:05:15
Ребята, кто поможет с celery? Celery не хочет запускаться в контейнере https://pastebin.com/2VQTM3ZD

Artem
30.08.2017
16:23:30
Ребята, кто поможет с celery? Celery не хочет запускаться в контейнере https://pastebin.com/2VQTM3ZD
она запускается, но не правильный коннекшон, укажи верный линк к контейнеру с реббитом

Ahmed
30.08.2017
16:38:42

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