
Donaudampf
28.04.2017
21:33:08
а, вот оно чо
сегодня прямо день открытий
TIL про конструкцию for ... else

Nikolay
28.04.2017
21:34:51

Google

Nikolay
28.04.2017
21:34:58
я его пробовал использовать - потом забросил

Donaudampf
28.04.2017
21:36:03
ну это как будто специально под очень частный случай запилили
так, что сразу и не вспомнишь

Aragaer
28.04.2017
21:37:25
for else это нормально, по сравнению с сишно-плюсово-прочим for (i = 0; i < count; i++)
if (arr[i] == 10)
break;
if (i == count)
printf("Not found\n")

Nikolay
28.04.2017
21:37:50

Aragaer
28.04.2017
21:38:35
ну в смысле есть некий список, надо найти первый подходящий под условие, либо понять, что ничего не нашли

Donaudampf
28.04.2017
21:38:36

Nikolay
28.04.2017
21:38:58
в питоне же можно всегда как-то так:
def func(): do_something() or raise StopIteration()
map(func, iterable)

Aragaer
28.04.2017
21:39:02
а питоновское for else это оно и есть, просто не надо дублировать условие

Nikolay
28.04.2017
21:40:12
next(ifilter(...))
?

Aragaer
28.04.2017
21:40:43
и еще в enumerate завернуть, угу
а если там чуть более сложные действия требуются для проверки?

Google

Nikolay
28.04.2017
21:41:02

Nikolay
28.04.2017
21:41:20

Aragaer
28.04.2017
21:41:22
типа есть список урлов, надо найти первый, который сдох.

Nikolay
28.04.2017
21:41:38

Nikolay
28.04.2017
21:41:52
HEAD запрос

Nikolay
28.04.2017
21:42:02
более сложное - это, скажем, найти первый случай, когда в последовательности что-то повторяется два раза подряд

Aragaer
28.04.2017
21:42:26
или там есть список файлов, надо найти первый, который не существует, удалить его из списка и что-то потом сделать, иначе выйти с ошибкой
или там вставка релатив таймера в нужную позицию

Nikolay
28.04.2017
21:43:11
сложнее, когда надо знать несколько предыдущих результатов

Aragaer
28.04.2017
21:44:56
короче в императивных языках такая конструкция - цикл до определенного ограничения типа конца списка, но если нашли что-то, то брейк, а потом надо понять - нашли или все-таки конец - это довольно частая штука

Nikolay
28.04.2017
21:45:18
Больно

Aragaer
28.04.2017
21:46:13
while else тоже можно ровно по той же причине

Nikolay
28.04.2017
21:47:41

Aragaer
28.04.2017
21:57:35
зачем мне извращаться с try-except, если есть нормальный for-else
кстати, не удивлюсь, если for-else реализован через try-except StopIteration

Саня
28.04.2017
21:59:09
Привет, чуваки.
Простите, что не по теме.Какие фильмы посмотреть?Уезжаю просто,накачивать буду.

Dmitriy
28.04.2017
22:00:07

lexleo
28.04.2017
22:01:20
The Voices(2014)

Google

Саня
28.04.2017
22:01:28
Про что он?
Человеческая многоножка
Про что он?

Donaudampf
28.04.2017
22:01:50

Dmitriy
28.04.2017
22:01:50
Научно популярная комедия

lexleo
28.04.2017
22:01:52
Про маньяка, Рейнольдс круто сыграл

Rocket
28.04.2017
22:02:00

Nikolay
28.04.2017
22:02:12
Треш.
Ты не понимаешь ничего
Там 2-ая часть еще есть.

Саня
28.04.2017
22:02:32

Rocket
28.04.2017
22:02:34
Я и смотреть не стал...

Dmitriy
28.04.2017
22:02:54

Donaudampf
28.04.2017
22:03:04

Nikolay
28.04.2017
22:03:09
Get out (2017)

lexleo
28.04.2017
22:04:03
Arrival(2016), Prometheus(2012)

Саня
28.04.2017
22:04:08
оке,спасибо люди,будет что посмотреьь на выходных,где инет 2г;(

Rocket
28.04.2017
22:04:44

Саня
28.04.2017
22:04:52
-

Rocket
28.04.2017
22:05:21
-
Вот из скачай. Оба фильма. Сначала старый смотри, потом новый.

Aragaer
28.04.2017
22:06:32

Google

Rocket
28.04.2017
22:07:28

Donaudampf
28.04.2017
22:08:48

Aragaer
28.04.2017
22:11:48
ну просто я говорю, что конструкция "пройти по списку в поисках чего-то, а потом проверить, нашлось ли что-нибудь" это нормально и часто попадается и поэтому for-else это удобно
а меня тут начинают потчевать ifilter и raise StopIteration

Rocket
28.04.2017
22:12:22

Donaudampf
28.04.2017
22:12:33

Rocket
28.04.2017
22:17:46

Admin
ERROR: S client not available

Rocket
28.04.2017
22:18:24
Не хватает elfor ?
Чтобы поискать в другом месте, если в первом не нашлось.

Donaudampf
28.04.2017
22:19:51
и в конце ещё oyvse

Rocket
28.04.2017
22:22:01
raise oyvse(iterable)

Danila
28.04.2017
22:28:29
В джанге при описании модели с внешним ключем есть on_delete, а что с on update ?

Denis
28.04.2017
22:32:47

Danila
28.04.2017
22:33:10
Зачем нужен контроль целостности базы данных ?

Nite
28.04.2017
22:35:21
Чтобы бы она была целостной

Rocket
28.04.2017
22:36:20
Ты б стал таким банком пользоваться, где за целостностью твоего счета не следят? ?

Danila
28.04.2017
22:37:38
Прощеньица просим конечно, но это был не вопрос это был ответ денису боброву

Google

Rocket
28.04.2017
22:38:21

Danila
28.04.2017
22:38:24
народ как констреинт на ON UPDATE в джанго модели сделать

Igor
28.04.2017
22:38:49
можно триггер на post_save повесить
https://docs.djangoproject.com/en/1.11/ref/signals/#django.db.models.signals.post_save

Danila
28.04.2017
22:40:17
ок, то что на уровне приложения можно что то придумать я догадывался, меня интересует именно чтобы был сгенерирован тру sql

Igor
28.04.2017
22:40:45
че мешает выкрутить логгинг на максимум и посмотреть, генерируется ли тру sql или нет, и если нет - написать самому

Danila
28.04.2017
22:40:50
странно просто on_delete есть а апдейта не найти

Igor
28.04.2017
22:41:14

Denis
28.04.2017
22:41:21

Danila
28.04.2017
22:42:26
Речь о том что в доках есть такое
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
и мне нужен on_update

Denis
28.04.2017
22:42:41
Да я воткнул уж

Igor
28.04.2017
22:42:42
ты уже десять раз сказал про on_delete
если ты скажешь в одиннадцатый - on_update не появится.

Danila
28.04.2017
22:43:05
да да сорян, я правильно понял что его просто нет

Igor
28.04.2017
22:43:15
чертовски правильно

Danila
28.04.2017
22:43:22
А в чем прикол не знаешь ?

Dmitriy
28.04.2017
22:43:24
???

Igor
28.04.2017
22:43:39
полагаю, в том, что не все движки баз данных поддерживают этот констрейнт. не знаю, я не разработчик джанги.
чем не устраивает pre_save/post_save?