
Ahmed
31.07.2017
10:35:11
Мне вот интересно, как он дергать то будет это все.

Artur
31.07.2017
10:36:04
а чем тебе все с 1 сервера не обрабатывается?
что мешает дергать полученные данные из бд?

Ahmed
31.07.2017
10:37:39
Просто взялся за rest django, и хочу понять его хорошо, и в дальнейшем использовать его. На стажировку скоро пойду, вот и готовлюсь к всяким штукам)

Google

ilya
31.07.2017
10:40:30

Ahmed
31.07.2017
10:47:16

ilya
31.07.2017
10:47:42
это везде так)

Артем
31.07.2017
10:49:35
Народ подскажите пож-та - есть ли встроенный метод в django проверки уникальности по нескольким полям ПРИМ = ЕСЛИ (поле1, поле2, поле3).УНИКАЛЬНО_ВМЕСТЕ, ТО СОХР
unique_together - добавляет к каждому полю unique, а у меня в вхождении некоторые дублируются

Denis
31.07.2017
10:52:23
> unique_together - добавляет к каждому полю unique
с какиих это пор?

Артем
31.07.2017
10:53:51
> unique_together - добавляет к каждому полю unique
с какиих это пор?
Не зна, но доках вот This is a tuple of tuples that must be unique when considered together. It’s used in the Django admin and is enforced at the database level (i.e., the appropriate UNIQUE statements are included in the CREATE TABLE statement).
И как бы админка при добавлении объекта ругается

Denis
31.07.2017
10:57:21
Бд какая?
По идее unique_together должен делать
ALTER TABLE `table_name` ADD UNIQUE `unique_index`(`field1`, `field2`, `field3`)

Артем
31.07.2017
10:59:50

Denis
31.07.2017
11:00:23
По крайней мере у меня никогда проблем не было с unique_together

Артем
31.07.2017
11:01:15
что то я делаю не так видимо, а связные поля(foreign)можно использовать (по идее там просто ИД лежит на таблицу)?

Google

ilya
31.07.2017
11:01:57
обращаться через них? Можно

Артем
31.07.2017
11:03:33
Не обращатся)) а unique_together использовать

Denis
31.07.2017
11:04:48
foreign_key_id

ilya
31.07.2017
11:05:18
cм приват)

Артем
31.07.2017
11:22:53
В unique_together только уникальные поля могут входить что ли?)))

Andy
31.07.2017
11:29:51
И это в доке и написано

Артем
31.07.2017
11:31:16

Andy
31.07.2017
11:33:59
да, это можно сделать вот так
unique_together = (("read_the", "following", "materials"),)
и только если в таблице будет запись, у которой значения всех трех полей такие же, как ты добавляешь – тогда будет ошибка в админке или при сохранении

Артем
31.07.2017
11:36:10
^
вот и я том же - где то я накосячил )))

Andy
31.07.2017
11:36:37
а показать как ты записываешь? или у тебя секретные названия столбцов?

Артем
31.07.2017
11:39:32

Andy
31.07.2017
11:40:48
И если ты вставляешь
num=1.0, cord_type=1.0, start=1 и потом повторно – добавляет?

Артем
31.07.2017
11:45:16
И если я добавиляю num=2 а все остальное без изменений то ругается что есть start

Artyem
31.07.2017
11:46:44

Artem
31.07.2017
11:46:48
Всем привет, кто-нибудь работал с шардтрованием моделей в жанге?

Artyem
31.07.2017
11:48:53
да, это можно сделать вот так
unique_together = (("read_the", "following", "materials"),)
и только если в таблице будет запись, у которой значения всех трех полей такие же, как ты добавляешь – тогда будет ошибка в админке или при сохранении
Тут стоит упомянуть про NULL
(1, 1, NULL) допускает создание (1, 1, NULL), поскольку считаются не равными друг другу

Артем
31.07.2017
11:50:38

Artyem
31.07.2017
11:57:38

Google

Артем
31.07.2017
12:01:19

Alexander
31.07.2017
12:28:18
так, минутка нубских вопросов ))
как трансформировать
[(1, 111), (2, 222), (3, 111), (4, 222), (5, 333)] в [(1, 111), (2, 222), (5, 333)] самым питонячьим способом?

b0g3r
31.07.2017
12:30:11
гуглить python flatten sequence
ой, я неправильно увидел, прошу прощения

Alexey
31.07.2017
12:49:38
а питонячьим что значит?)))

Alexander
31.07.2017
12:51:27
ну, красиво) коротко)
можно сгруппировать по этому числу и взять первые значения) но там вроде какие-то функции были
я забыл их названия

Alexey
31.07.2017
12:55:45
ааа
понял тебя
минуту

Eldar
31.07.2017
12:56:58
я бы в дефолт дикт запихал а потом бы итернулся и сделал бы словарь с первыми минимальными занчениям по каждому ключу

Alexey
31.07.2017
12:59:18
эммм у мну сложно как то получилось)))
sorted([(v, k) for k, v in dict([(i[1], i[0]) for i in sorted([(1, 111), (2, 222), (5, 333)], key=lambda x: x[0], reverse=True)]).items()], key=lambda x: x[0])

Alexander
31.07.2017
13:00:19
или даже [(1, 111), (2, 222), (3, 111), (4, 222), (5, 333)] в (1, 2, 5)
да, тоже sorted тут
я помню, какие-то функции были для вот таких всяких операций, забыл в каких они модулях

Alexey
31.07.2017
13:01:50
list(dict([(i[1], i[0]) for i in sorted(a, key=lambda x: x[0], reverse=True)]).values())[::-1]

Igor
31.07.2017
13:04:40
Привет всем. Сегодня впервые в джанго делаю manyToMany field, создал такого типа поле, через миграции создалась доп. таблица связей, что круто, по сравнению с другими фреймворками. Вопрос в том что может и добавление/удаление строк в связывающей таблицы в джанго происходет в удобном (авто) формате. Подскажите плиз.

Google

b0g3r
31.07.2017
13:04:47
или даже [(1, 111), (2, 222), (3, 111), (4, 222), (5, 333)] в (1, 2, 5)
так сет же
а, вру
да что такое со мной сегодня(

Ruslan
31.07.2017
13:05:11
Добрый день. Кто-нибудь юзал/юзает Saleor?
Годнота или тот же DJANGO SHOP, DJANGO-OSCAR лучше?
http://getsaleor.com

Alexander
31.07.2017
13:23:02

b0g3r
31.07.2017
13:25:13

Alexey
31.07.2017
13:33:06

Admin
ERROR: S client not available

Artyem
31.07.2017
13:49:50
так, минутка нубских вопросов ))
как трансформировать
[(1, 111), (2, 222), (3, 111), (4, 222), (5, 333)] в [(1, 111), (2, 222), (5, 333)] самым питонячьим способом?
>>> l = [(1, 111), (2, 222), (3, 111), (4, 222), (5, 333)]
>>> d = {}
>>> for key, value in l:
... d.setdefault(value, key)
...
>>> d
{333: 5, 222: 2, 111: 1}
>>> [(key, value) for key, value in l if d.get(value) == key]
[(1, 111), (2, 222), (5, 333)]
либо заюзать OrderDict
d = OrderedDict()
>>> for key, value in l:
... d.setdefault(value, key)
...
>>> d
OrderedDict([(111, 1), (222, 2), (333, 5)])
>>> [(value, key) for key, value in d.items()]

Alexander
31.07.2017
14:04:22
спасибо)

Senpos
31.07.2017
14:05:05
Товарищи, пересекающийся с Django вопрос, кто-нибудь использует новую фишку - typing?

Alexander
31.07.2017
14:05:16
я использовал
там проверки немного кривые
я чувствую, что код mypy пока сыроват

Senpos
31.07.2017
14:06:55
я использовал
Тогда вопрос, если ожидается Tuple из чисел, как поступить?
Numeric = Union[int, float]
def ... (... : Tuple[Numeric]):
...
не срабатывает)

Alexander
31.07.2017
14:07:29
а я вот много такого встречал там
он ругается на какие-то странные вещи
ошибок не было

Google

Alexander
31.07.2017
14:07:55
но я юзал весной
то есть как минимум 2 версии уже успело выйти после этого

b0g3r
31.07.2017
14:08:21

Senpos
31.07.2017
14:08:26

b0g3r
31.07.2017
14:08:32
Tuple[int | float]?

Alexander
31.07.2017
14:09:14
в общем, я сейчас это не юзаю, потому что там были ошибки, которые я не мог поправить на своей стороне, оно ещё и с f-string'ами глючило

b0g3r
31.07.2017
14:09:28
или даже Tuple[int, float]

Senpos
31.07.2017
14:09:38
Tuple[int | float]?
Вот эта самая "палочка" воспринимается как ошибка. А если Tuple[int, float] - подразумевается, что тапл из двух элементов, где первый инт, а второй флоат
Что не подходит, ибо кол-во элементов может быть любым, но именно этих двух типов

b0g3r
31.07.2017
14:10:02
пждите
Tuple[Union[int, float], ...] ?

Senpos
31.07.2017
14:12:44

b0g3r
31.07.2017
14:13:03
, ... не хватает

Senpos
31.07.2017
14:14:28

amureki
31.07.2017
14:15:07

Alexander
31.07.2017
14:15:27
ну, я на практике был в своё время
в Техносерве
дальше, к счастью, понял, что работать с этим не надо))
но наличие поддержки SAP'а как бы говорит, что тут серьёзные люди и огромные базы данных
ну, то есть не два студента писали