
Spacehug
21.02.2018
10:36:07

Massimo
21.02.2018
10:36:34
Что с вином то?

Runinterface ?
21.02.2018
10:37:17

Massimo
21.02.2018
10:38:08
Хмм

Google

Massimo
21.02.2018
10:38:12
А ведь кстати не так
У меня 1с на удаленке стоит
мне нужно просто прогу для подключения к удаленке скачать

OlegBrony
21.02.2018
10:39:35

Massimo
21.02.2018
10:44:13
https://dpaste.de/gR1q
Подскажите, я жсоном отправляю инфу и он должен сначала вносить des_from а затем des_to но он упорно вносит сначала des_to
что я делаю не так?

Dan
21.02.2018
10:46:14
кто вносит ?

Artem
21.02.2018
10:46:16
Есть

Massimo
21.02.2018
10:47:05

Dan
21.02.2018
10:47:18
отправляешь на сервер

Massimo
21.02.2018
10:47:47
На сервере все норм он то dict то присылает в норме

Artem
21.02.2018
10:47:51
des_from = Destination.objects.get(pk=obj.des_from_id)
des_to = Destination.objects.get(pk=obj.des_to_id)
а это можно покрасивше переписать

Google

Massimo
21.02.2018
10:47:59
ну в смысле присылает ajaxForm

Artem
21.02.2018
10:51:38
des_from_id
des = Destination.objects.only('name').filter(pk__in=[obj.des_from_id, obj.desto_id]).all()
for de in des:
if de.pk == obj.des_from_id:
des_from = de.pk
elif de.pk == obj.des_to_id:
des_to = de.pk

Massimo
21.02.2018
10:52:42
Но не красивее
Красиво - когда очень мало

Artem
21.02.2018
10:53:14
но зато в один запрос
и возьмет только два поля: id, name

Massimo
21.02.2018
11:02:38
Ну у меня не гранд проект что запросы должны быть маленькими, но я согласен, что твоя версия граммотней

Rookie
21.02.2018
11:07:37
Ребята, динамически создаваемый словарь баз данных для settings - это же вполне нормально?

Anton
21.02.2018
11:08:54
Всем привет. Вопрос такой: как в Django CMS работает тег static_placeholder? Я думал, это что-то вроде include, но не могу нигде найти, собственно, сам html-файл

Dan
21.02.2018
11:09:05

Rookie
21.02.2018
11:09:53
в смысле ?
import dj_database_url
MASTER = "postgres://db_user:db_pass@123.45.67.8:6432/нbase"
SLAVES = ("postgres://db_user:db_pass@123.45.67.8:6432/base",
"postgres://db_user:db_pass@123.45.67.8:6432/base",)
def set_database_list():
db_list = {'slave_%d' % i: dj_database_url.config(
env='DATABASE_URL', default=j, conn_max_age=500) for i, j in enumerate(SLAVES, start=1)}
db_list.update(
{'default': {}, 'master': dj_database_url.config(env='DATABASE_URL', default=MASTER, conn_max_age=500)})
return db_list

Artem
21.02.2018
11:09:59

Rookie
21.02.2018
11:13:04
это вполне круто, djurldatabase так и делает
Я перед запуском uwsgi собираю словарь из файла, в котором хранятся данные о мастере и слейвах. Данные могут меняться, потому что в случае падения мастера у меня настроено, что после того, как слейв занял место мастера он башскриптом создаёт новый список серверов, шлёт на все узлы и перезапускаает приложения. Я придумал только так. Это не сильно упорото?
То есть, в итоге в сеттингах я имею
DATABASES = set_database_list()

Artem
21.02.2018
11:14:50
с другой стороны, секурней будет файлик с chmod

Rookie
21.02.2018
11:16:13

Artem
21.02.2018
11:16:27
Ааааааа...

Google

Artem
21.02.2018
11:16:35
да, но такая шняга не прокатит

Rookie
21.02.2018
11:16:46
Почему?
Я запустил щас, работает

Artem
21.02.2018
11:17:14
по дефолту, жанга принимает
где 'default', для обращения черещ .using(*arg)
а тебе надо использовать слейвы

Rookie
21.02.2018
11:18:02

Artem
21.02.2018
11:18:11
посему, тебе надо расширить DATABASE_DRIVER
https://docs.djangoproject.com/en/2.0/topics/db/multi-db/
вот почитай
конкретно методы:
db_for_read(model, **hints)¶
db_for_write(model, **hints)¶

Artem
21.02.2018
11:19:05
и другие

Rookie
21.02.2018
11:19:30

Artem
21.02.2018
11:19:59
или у тебя мастер сам разруливает?
или шо

Rookie
21.02.2018
11:21:37
или у тебя мастер сам разруливает?
Почему. У меня роутер джанговский есть. Но он просто показывает джанге куда писать, и откуда читать. Остальное сделано средствами постгри. Тут роутер джанги мне нужен только для того, чтобы джанга не начала писать в слейв, и всё.

Artem
21.02.2018
11:22:06
Аааа... ну а так, во всем остальном нормально все

Rookie
21.02.2018
11:22:58

Artem
21.02.2018
11:23:13
да там как угодно вообще!

Google

Artem
21.02.2018
11:23:23
хоть из коллекции собирай

Rookie
21.02.2018
11:23:46
Ну и ок) Пойду дальше хуевертить)

Artem
21.02.2018
11:23:49
вот только что бы оно на "лету" принимала измеения, вот это иинтереснее

Rookie
21.02.2018
11:24:21

Artem
21.02.2018
11:24:23
хотя, крутить парочку докеров, и незаметно релоадить с новыми роутами для слейвов и вообще по красоте!

Massimo
21.02.2018
11:25:00
А зачем вообще это делать?

Artem
21.02.2018
11:25:11
дохера серваков под базу!

Rookie
21.02.2018
11:25:17

Massimo
21.02.2018
11:25:33
Ого пахнет Мега проектом)

Artem
21.02.2018
11:25:36
хотя да, зачем!? у тебя сотни миллионов записей? или в качестве серверов пеньки 4?

Admin
ERROR: S client not available

Rookie
21.02.2018
11:25:44

Massimo
21.02.2018
11:26:29

Rookie
21.02.2018
11:26:46

Artem
21.02.2018
11:26:47

Rookie
21.02.2018
11:27:28

Massimo
21.02.2018
11:27:29
А потом слейв синхронитт мастера когда тот встал?

Artem
21.02.2018
11:27:31

Rookie
21.02.2018
11:27:43

Artem
21.02.2018
11:27:57
мы с 1 слейвом жили вполне хорошо

Google

Artem
21.02.2018
11:27:59
всегда копия
и та, реплика
на read-only

Rookie
21.02.2018
11:28:39

Artem
21.02.2018
11:28:51

Rookie
21.02.2018
11:28:55

Artem
21.02.2018
11:29:23
убедил!

Massimo
21.02.2018
11:29:42
Реплики слейва?

Artem
21.02.2018
11:29:51
слейв == реплика

Massimo
21.02.2018
11:29:53
А если еще и оба слейва упали?

Rookie
21.02.2018
11:30:09

Massimo
21.02.2018
11:30:19
Мастер же лежит

Artem
21.02.2018
11:30:26
ну тогда поа начинать молиться

Rookie
21.02.2018
11:30:39

Massimo
21.02.2018
11:30:41

Artem
21.02.2018
11:30:46

Massimo
21.02.2018
11:31:11
Вот именно поэтому я мастер православный и в слейвах еще парочку религий, чтобы молиться можно было любому богу
Если первый упадет)))0

Rookie
21.02.2018
11:31:39

Massimo
21.02.2018
11:31:43
Слейвы же на разных серверах?

Rookie
21.02.2018
11:31:53
Ага