
Evgeniy
21.01.2018
10:39:21
Подскажите пожалуйста как создать поле attributes, если в модели нет field словарь

Alph
21.01.2018
10:54:42
посоны помогите , второй день бьюсь с подключением статики , незнаю что не так

vadim
21.01.2018
10:55:19
?

Alph
21.01.2018
10:55:30

Google

Alph
21.01.2018
10:56:32
куда смотреть куда бежать

Sonniy
21.01.2018
10:57:42
В документацию, или прочитать нормально стартовый мануал

Alph
21.01.2018
10:58:10

Sonniy
21.01.2018
10:59:10
Ну смотри, какую ошибку тебе выводит?

Alph
21.01.2018
11:00:11

Sonniy
21.01.2018
11:01:06
Вот, у тебя лист а ты пытаешься к нему применить метод от строки

Alph
21.01.2018
11:01:32

Sonniy
21.01.2018
11:01:54
Я не ванга

Eugene
21.01.2018
11:01:58
loadstaticfiles есть?

Alph
21.01.2018
11:02:11

Eugene
21.01.2018
11:03:19
static_root и static_url не указал значит.

Google

Eugene
21.01.2018
11:03:33
https://docs.djangoproject.com/en/2.0/howto/static-files/

Alph
21.01.2018
11:03:48

Eugene
21.01.2018
11:04:00
https://docs.djangoproject.com/en/1.8/howto/static-files/

Maxos
21.01.2018
11:15:31

Evil
21.01.2018
11:54:09
ну потому что вставь в form_valid в конце message.succes("data has been updated")
я же помоему тебе вчера говорил
потом просто в шаблоне выводи месседжи

Maxos
21.01.2018
11:55:49
Да блин, в дБ не сохраняется
В этом проблема

vadim
21.01.2018
12:00:00
код надо смотреть весь

Трусов
21.01.2018
12:10:01
ПАрни, как правильно при использовании класса apiView в django rest строить schema?
или чем можно заменить apiView но при этом что бы schema сама генерировалась и можно было использовать свой Response
GenericAPIView строит schema для всего кроме метода put


Гийденко
21.01.2018
12:23:10
Архитектурный вопрос. Есть ряд процессов которые имеют прогресс выполнения. По факту изменения прогресса каждый из них изменяет данные в базе данных. Эти изменения через биндинг отправляются по вебсокетам на клиента. Биндинг дефолтный из channels.
Проблема в том что за раз может обновиться туча процессов, что вызовет около 1000 отправок в ws. Это проблема, как изза пагрузки на сеть так и изза ограничения канала.
Требуется както собирать изменения в буфер (например в redis), и пачкой отправлять последние актуальные данные. То есть я делаю оверрайд функции биндинга и вместо отправки пишу в память последние изменения. А потом кому-то сообщаю - отправь ка через 3 сек. Этот ктото через 3 сек забирает из буфера данные, в которые я уже успел добавить еще пару тыщ обновлений. ну и отправляет очищая буфер.
Вопрос: есть ли у кого опыт подобных манипуляций? Может я не достаточно "умно" придумал и есть более дельное предложение?
дефолтный биндинг в channels больше подходит для чатов. Мне важна не столько моментальность отправки сколько количество изменений.
Другой вариант - я делаю отдельную модель с данными для отправки и использую дефолтный биндинг. Ну и изменнения я основной базе отправляются в биндинг-модели тож катко пачкой, прост осхраняем. А дефолтный биндинг отправит и почистит модель.


Artem
21.01.2018
12:30:06
На проде тебе нужно будет лишь хорошо удерживать стабильность кластера редиса

Гийденко
21.01.2018
12:31:55

Google

Гийденко
21.01.2018
12:32:31
получается мне надо забить вообще на дефолтный биндинг и сделать свой вариант

Artem
21.01.2018
12:32:54
Это все же куда лучше, пинать редис, чем пихать запросы от каждого процесса в бд

Гийденко
21.01.2018
12:33:43

Artem
21.01.2018
12:34:41
Простым redis.Strict(**kwargs) устроит всю работу

Гийденко
21.01.2018
12:35:52
сейча самое непонятное это как инициировать отправку не сразу а по мере накопления данных. Причем если процессы стоят и придет только небольшое сообщение что гдето поменялся статус то его тоде надо отправлять. По количеству тут не определишь.
Значит надо что-то типа немного отложенного отправления, причем чтобы действие чтение+чистка было унарной операцией.

Denis
21.01.2018
12:36:29
Отправлять всегда раз в секунду?

Гийденко
21.01.2018
12:36:51
ну я думаю можно и раз в сек если есть изменения
но прям каждую секунду долбить не обязательно
в редис имею в виду

Artem
21.01.2018
12:37:47
Можно смотреть по времени, все таки, там доступен ttl записи.

Гийденко
21.01.2018
12:37:48
тут либо опрашивать редис на наличие данных раз в сек, либо при изменении запускат ькакойто процесс для проверки через 1 сек если еще не запущен

Artem
21.01.2018
12:38:00
И в поле хранить, последнюю запись изменения

Denis
21.01.2018
12:38:09
Долбить редис дешево, можно и раз в секунду

Гийденко
21.01.2018
12:38:22

Artem
21.01.2018
12:38:56
Или же, при очередном запросе делать проверку на количество, если больше, записываешь в бд, и удаляешь с него уже выполненное
По транзакции

Гийденко
21.01.2018
12:40:04
вот и хотелось бы два таких отделения
1 - записывает изменения а редис при сообщении от процессов
2 - забирает накопления, отправляет сразу на клиента и в бд, ну и чистит редис
чтобы они независимо работали
правда с кластерами я еще не умею, пока всё на одном хосте
спасиб, пойду думать

Google

Гийденко
21.01.2018
12:43:35
я вот подзабыл, в джангде же можно через update обновить сразу много моделей по id с разными данными?
то есть одним запросом обновить много сразу моделей

Denis
21.01.2018
12:45:10
Да

malcev
21.01.2018
12:45:42
в django rest хочу достать данные из таблицы вместе с foreign key
как это делается?

Artem
21.01.2018
12:45:47

Гийденко
21.01.2018
12:46:44
ну а как потом сопаставить отправляемые данные с каждым конкретным объектом? оН же всем одно так запишет

Evil
21.01.2018
12:48:38
пацантре выкиньте свои rest'ы на помойку последнией год заюзад GrapgQL рикамендую

Admin
ERROR: S client not available

Artem
21.01.2018
12:53:46

Evil
21.01.2018
12:54:13
но ведь реляции и есть граф

Denis
21.01.2018
12:54:19
Зачем всякие ресты и графы, если есть православный jsonrpc?

Evil
21.01.2018
12:54:21
причем тут сиквель или не сиквель
графы то в 16 веке придумали

Artem
21.01.2018
12:54:54

Evil
21.01.2018
12:55:39
все там нормально

Google

vadim
21.01.2018
12:55:49
DRF норм

Artem
21.01.2018
12:55:54
Тогда не умею его готовить

vadim
21.01.2018
12:56:03
если велосипедить сильно не надо

Denis
21.01.2018
12:56:27
Многие апи по этому принципу построены

Artem
21.01.2018
12:57:24
Неее, именно по стандарту RPC с restful

Denis
21.01.2018
12:57:48
При чем тут restful?

Evil
21.01.2018
12:58:13
кто знает
тут странная группа

vadim
21.01.2018
12:58:27
сумеречная зона

Evil
21.01.2018
13:00:13
короче не мудрите
обращайтесь в graphql
один рут эндпоинт и фронтедж мартыханы сами разбираются
там все кверится как в базу

Гийденко
21.01.2018
13:03:33

vadim
21.01.2018
13:04:25
перефразирую без ТЗ - технология ХЗ

Artem
21.01.2018
13:05:25
там все кверится как в базу
Вот есть у нас один такой проект, где на бекенде - нода. И обращаются по графу, почти как в бд ломятся. Но на самом деле, в бд и ломятся напрямую через драйвер! Чуть не так, ошибка от драйвера!! Такая жопа творится! И чтобы получить нужную схему, такие запросы летают ((

Evil
21.01.2018
13:06:49

vadim
21.01.2018
13:07:02

Artem
21.01.2018
13:07:16
Ребята с Питера, незнаю под чем они там сидят. Но мы очень тоже хотим так???

vadim
21.01.2018
13:08:28
борются с погодой всеми средствами