@ru_python

Страница 7655 из 9768
Toolkit
09.01.2019
12:53:25
и, да

я изучаю функции

но у меня траблы со структурой

поэтому и прошу помощи

Google
Terminator
09.01.2019
12:54:21
@Valery11 будет жить. Поприветствуем!

Проксимов
09.01.2019
13:01:13
поэтому и прошу помощи
Не пиши лесенкой

Terminator
09.01.2019
13:01:19
@SergeyTheGod будет жить. Поприветствуем!

Сергей
09.01.2019
13:02:27
но у меня траблы со структурой
Начать нужно с того, чтобы избавится от реально излишних функций. Для чего нужны функции? 1) Чтобы не повторять одинаковые куски кода. 2) Чтобы разделить код на смысловые блоки. Менять простой input на целую функцию (тем более отдельную для каждого ввода) не нужно - это абсолютно бессмысленная затея. Дальше... у тебя нет ни одной функции с параметрами. Почитай, для чего они нужны. И если ты хочешь получить результат работы функции, то либо она сама должна его печатать (что не очень правильно), либо возвращать, а ты с этим результатом уже сам решаешь, что делать.

❤️ Yaroslav
09.01.2019
13:55:25
def update_priorities(model, start, end, select=lambda x, y: x.objects, selection_arg=None, minus=False): print(f"start {start}") print(f"end {end}") print(f"minus {minus}") if end: seq = select(model, selection_arg).filter(priority__gte=start).exclude(priority__gte=end+1).order_by('-priority') else: seq = select(model, selection_arg).filter(priority__gte=start).order_by('-priority') print(f"seq {str(seq)}") for entity in seq: if minus: entity.priority -= 1 model.save(entity) else: entity.priority += 1 model.save(entity) я могу делать select(model, selection_arg) при дефолтном селекте и селект_аргументе?

падает по Exception Value: too many values to unpack (expected 2)

Denis
09.01.2019
13:57:14
Terminator
09.01.2019
13:58:47
@PickleRickes будет жить. Поприветствуем!

❤️ Yaroslav
09.01.2019
14:29:19
В какой строке?
тут print(f"seq {str(seq)}") вот сам селект select(model, selection_arg).filter(priority__gte=start).order_by('-priority') после лямбды будет такой Category.objects.filter(priority__gte=start).order_by('-priority')

Владимир
09.01.2019
14:33:29
лучше покажи что ты в стр засовываешь

❤️ Yaroslav
09.01.2019
14:34:19
лучше покажи что ты в стр засовываешь
это же селект, котрый я кидал seq = select(model, selection_arg).filter(priority__gte=start).order_by('-priority')

Google
Sfy
09.01.2019
14:35:01
https://pastebin.com/aA1kp1Uu Это приемлимый стиль форматирования длинных строк?

Владимир
09.01.2019
14:35:23
ох, убери лямбду из значений по умолчанию, это порнография

❤️ Yaroslav
09.01.2019
14:35:54
ох, убери лямбду из значений по умолчанию, это порнография
почему? реально не понимаю, лябмда это обычная переменная в моём понимании

А
09.01.2019
14:37:09
Как не быть быдло кодером?

Владимир
09.01.2019
14:37:11
почему? реально не понимаю, лябмда это обычная переменная в моём понимании
лямбда — безымянная ф-я. Пихать ее для того, чтобы просто получить атрибут бессмысленно. Просто передай нужный атрибут и все.

Tishka17
09.01.2019
14:37:12
типа fetch_all что-то

хз как оно в джангеё

Sfy
09.01.2019
14:38:14
https://pastebin.com/aA1kp1Uu Это приемлимый стиль форматирования длинных строк?
Я ничего умнее придумать не смог, а по ощущениям выглядит как нечитаемое говно.

Владимир
09.01.2019
14:38:33
noName
09.01.2019
14:38:53
❤️ Yaroslav
09.01.2019
14:39:28
Тем не менее лямбде там не место
? лямбда это обычная переменная же

могут быть разыне селекты, вынес в одну ф-цию и поставил параметр, в чём проблема?

Владимир
09.01.2019
14:40:55
? лямбда это обычная переменная же
update_priorities(model, start, end, select=lambda x, y: x.objects, selection_arg=None, minus=False) Посмотри внимательно. Ты можешь просто передать objects. Код станет чище, обобщенности твоей это не нарушит Что касается почему падает — поставь breakpoint, да посмотри почему и что не распаковывается

❤️ Yaroslav
09.01.2019
14:41:21
может быть @staticmethod def update_priorities(start, end, selection_arg, minus=False): update_priorities(Video, start, end, select=lambda videos, c: videos.objects().filter(category=c), selection_arg=selection_arg, minus=minus) , а может быть @staticmethod def update_priorities(start, end, minus=False): update_priorities(Category, start, end, select=lambda x, y: x.objects, minus=minus)

там в любом случае кверя, где-то есть фильтр, а где-то нету, как тут без лямбды?

Владимир
09.01.2019
14:45:01
там в любом случае кверя, где-то есть фильтр, а где-то нету, как тут без лямбды?
а причем тут filter, ты менеджер туда передаешь в качестве аргумента. pdb используй

Google
❤️ Yaroslav
09.01.2019
14:46:26
а причем тут filter, ты менеджер туда передаешь в качестве аргумента. pdb используй
ну так он в одном случае с фильтрацией, в другом без, как обобщить без лямбды?

Владимир
09.01.2019
14:47:26
❤️ Yaroslav
09.01.2019
14:48:04
где тут фильтрация select=lambda x, y: x.objects
это в одном случае, в другом select=lambda videos, c: videos.objects().filter(category=c)

и да, падает даже это seq = Category.objects.filter(priority__gte=start).order_by('-priority')

Владимир
09.01.2019
14:49:03
это в одном случае, в другом select=lambda videos, c: videos.objects().filter(category=c)
это решается просто передачей queryset. Можешь передавать all, потом добавить фильтр

❤️ Yaroslav
09.01.2019
14:49:46
это решается просто передачей queryset. Можешь передавать all, потом добавить фильтр
в первом случае даже аргумента такого нету, который нужно фильтровать

❤️ Yaroslav
09.01.2019
14:50:22
Ладно, твое дело)
ну я реально не понимаю как по-другому

Anton
09.01.2019
14:50:40
ребят подскажите кто юзал drf+jwt как генерировать токен по емайлу, я его потом ссылкой отправлять на почту

Владимир
09.01.2019
14:50:50
ну я реально не понимаю как по-другому
да я уже три варианта привел, пере переписывать же за тебя

❤️ Yaroslav
09.01.2019
14:50:51
как обобщить простой селект вообще без аргуметов и селект с фильтром

фильтр не должен вообще вызываться в первом случае

Владимир
09.01.2019
14:51:37
как обобщить простой селект вообще без аргуметов и селект с фильтром
это решается просто передачей queryset. Можешь передавать результат all(). кверисеты ленивые и вычисляться не будут до нужного момента

❤️ Yaroslav
09.01.2019
14:52:36
это решается просто передачей queryset. Можешь передавать результат all(). кверисеты ленивые и вычисляться не будут до нужного момента
к тому же я всё равно использую модель, передавать модель и выборку модели 2 параметрами?

даже не знаю что лучше

да лямбда это обычный параметр, не понимаю чем он плох

Владимир
09.01.2019
14:53:09
ребят подскажите кто юзал drf+jwt как генерировать токен по емайлу, я его потом ссылкой отправлять на почту
токены у дрф автоматом генерируются при создании пользователя, если родной auth token, а ссылкой наверно любым способом отослать можно

❤️ Yaroslav
09.01.2019
14:56:35
в любом случае падает Category.objects.all().filter(priority__gte=start).order_by('-priority')

Владимир
09.01.2019
14:56:36
да лямбда это обычный параметр, не понимаю чем он плох
код становится не читаем, потом, если ты передашь случайно туда другое значение аргумента, то перезапишешь свой select

Google
❤️ Yaroslav
09.01.2019
14:57:23
смотри, что в старт
start 2 end None minus True

Владимир
09.01.2019
14:58:05
start 2 end None minus True
import pdb; pdb.set_trace() пользуйся вот этим

❤️ Yaroslav
09.01.2019
14:58:36
import pdb; pdb.set_trace() пользуйся вот этим
спасибо, в любом случае пригодится

хоть и через неделю бросаю питон)

Sfy
09.01.2019
15:00:55
Что отличает кодера от говнокодера? Не абстрактно "он хорошо пишет код", а более содержательно.

Anton
09.01.2019
15:01:41
кол-во опыта

кол-во законченных проектов

Pavel Tyavin
09.01.2019
15:02:27
Уровень зарплаты
- . По-моему и за большые барыши можно писать что-то неподдерживаемое

❤️ Yaroslav
09.01.2019
15:02:42
думаю ничто из перечисленого, есть говнокодеры в гугле с офигенной зп и 10 лет стажа

и есть студент который божественно пишет на хаскеле

Anton
09.01.2019
15:04:39
скажу такое, человек может стать говнокодером если он пришел в проект у которого структура говно и чтобы придерживаться проекта ему приходиться писать говно

Sfy
09.01.2019
15:07:40
Что вообще делать, чтобы не писать говно? Как научиться писать не просто работающее, а чтобы поддерживать было легко и читать + оптимизировать? Есть какие-то достойные книги, которые реально меняют извилины? Только без типовых вбросов рекомендованной литературы из ВУЗа, которую вы не читали. Что-то, что вам реально помогло.

Владимир
09.01.2019
15:09:00
Sfy
09.01.2019
15:09:42
Я хочу то, что вы РЕАЛЬНО прочитали и РЕАЛЬНО словили с чтения профит. Если у кого-то из вас такое есть.

Google
Anton
09.01.2019
15:09:57
Что вообще делать, чтобы не писать говно? Как научиться писать не просто работающее, а чтобы поддерживать было легко и читать + оптимизировать? Есть какие-то достойные книги, которые реально меняют извилины? Только без типовых вбросов рекомендованной литературы из ВУЗа, которую вы не читали. Что-то, что вам реально помогло.
оптимизировать - хороший код оптимизировать не надо, а вот в плане масштабирования тут сложно т.к. новые изменения могут быть уже корявыми на этапе бредового тз. В плане читабельности - советуйся с коллегами, спрашивай их что не так в коде и т.д. тп

В.
09.01.2019
15:27:45
Ребят, нужно эмулировать вход на FB и спарсить лайки под фотографией (список ников, кто лайкнул). Как мне это лучше сделать? Может есть примеры подобных действий? То же самое с Twitter нужно провернуть.

Страница 7655 из 9768