Pavel
Давай усложним задачу до немыслимых высот
я честно говоря не очень понимаю, какой практический кейс в бессмысленной реализации :)
Oleg
Схуяле, обоснуй
a, b, c = [1,2] ValueError: not enough values to unpack (expected 3, got 2)
Oleg
Метод get вернет None если ключа нет
ну да, так и должно быть
Oleg
длина keys должна совпадать с длиной возвращаемого списка
Никита
Парни, подскажите пожалуйста, как объединить два списка словарей в один. Например надо получить массив C: ''' a = [{'id': 1, 'name': 'новость 1'},{'id': 2, 'name': 'новость 2'}, {'id': 3, 'name': 'новость 3'}] b = [{'id': 1, 'name': 'новость 1'},{'id': 2, 'name': 'новость 2'}, {'id': 4, 'name': 'новость 4'}] c = [{'id': 1, 'name': 'новость 1'},{'id': 2, 'name': 'новость 2'}, {'id': 3, 'name': 'новость 3'}, {'id': 4, 'name': 'новость 4'}]
🍁 Jaŭhien
Значит все распакуется нормально)
Andrew
a, b, c = [1,2] ValueError: not enough values to unpack (expected 3, got 2)
а, ты про это место. Ясно. Но не понятно зачем такое. Вместо некоторых ключей получишь None и нигде ничего не упадёт
Oleg
Изначально вопрошающий хотел `a, b, c = my_dict.gets('a','b','c')` и говорил Всё в питоне устраивает кроме этой части. Я просто вернул ему веру в питон
🍁 Jaŭhien
Короче, нужно больше информации о задаче
Oleg
Есть способ нормально вытаскивать несколько значений из словаря? Я чего-то не могу вспомнить. Не так a, b, c = my_dict['a'], my_dict['b'], my_dict['c'] не a, b, c = [my_dict[val] for val in 'a','b','c'] а что-то вроде a, b, c = my_dict.gets('a','b','c') Всё в питоне устраивает кроме этой части
Oleg
Andrew перечитай первое сообщение
Oleg
внимательно
🍁 Jaŭhien
Да интересное решение)
Andrew
внимательно
Да толку то. Там нет ничего про пограничные случаи и исключения. Твой вариант хороший. Его не критикует никто если что
🍁 Jaŭhien
Мб лучше генератор возвращать
Je
Это результат SQL запроса его над синхронизировать с данными клиента. Вот и ломаю голову
Таков результат, какова структура. Полагаю, у тебя что-то хранится в jsonb и там массив key-value пар?
Oleg
Да толку то. Там нет ничего про пограничные случаи и исключения. Твой вариант хороший. Его не критикует никто если что
можно еще дефолтное значение в функцию принимать, от которого будет зависить рейзить KeyError в случае отсутствия ключа или возвращать дефолтное значение
Никита
Таков результат, какова структура. Полагаю, у тебя что-то хранится в jsonb и там массив key-value пар?
Не совсем понял вопрос. У клиента простой json с такой же структурой. И в бд так же.
Honcharov
Привет,очередной вопрос по джанго. Есть фильтрсет. Как в ExecutorSelectWidget передать текущего пользователя request.user? class TaskFilter(django_filters.FilterSet): status = django_filters.ChoiceFilter(choices=TASK_STATUSES, empty_label='Any status', widget=StatusSelectWidget( attrs={"class": 'selectpicker', 'data-width': 'fit'})) executor = django_filters.ModelChoiceFilter(queryset=UserModel.objects.all(),widget=ExecutorSelectWidget(attrs={'class':'selectpicker'})) class Meta: model = Task fields = ['priority', 'project', 'executor', 'kind', 'status']
Tishka17
интересно как будешь действивать когда и одним id будут разные данные
Tishka17
и не ясно важен ли тебе порядок
Dk
эм, тупл? зачем?
Можно в лс?
Никита
ты там мастер-мастер реплику делаешь что ли?
Не знаю таких терминов поэтому не ручаюсь ответить. 🙂 В качестве id у меня timestamp события.
Je
Не совсем понял вопрос. У клиента простой json с такой же структурой. И в бд так же.
Ты не обязан следовать структуре клиента. Храни одним словарем, обновляей его при изменениях, а в ответ отдавай массивом, разве так не проще? Чего у тебя больше, вставок или чтений?
Tishka17
Не знаю таких терминов поэтому не ручаюсь ответить. 🙂 В качестве id у меня timestamp события.
давай тогда исходную задачу. Я так понял что у тебя есть список записей в БД и в виде json они же на клиенте. Тебе надо их снхронизировать? Где могут быть изменения?
Tishka17
Может ли клиент что-то менять
Tishka17
зачем именно json
Никита
давай тогда исходную задачу. Я так понял что у тебя есть список записей в БД и в виде json они же на клиенте. Тебе надо их снхронизировать? Где могут быть изменения?
Есть список евентов которые собираются с разных клиентов. Все они находятся в реляционной таблице например id, client_id, timestamp, поле1, поле2. Задача синхронизировать эти данные с клиентом. Данные генерит и передает всегда сам клиент.
Tishka17
тогда непонятно в чем пробелма
Tishka17
клиент передает все новые события
Tishka17
ты их получаешь и пишешь
Tishka17
клиенту говоришь - ок принял
Tishka17
если хочешь - пусть клиент запрашивает свой max(timestamp) на сервере
Vladyslav 🇺🇦🇪🇺
Народ, кто-нибудь, что-нибудь знает о PyJNIus? КТо-нибудь ковырял?
Никита
Он может передавать и прошлые события которые не были синхронизированы и важно оставить старые и сохранить новые
Vladyslav 🇺🇦🇪🇺
0_о зачем? под андроид решил писать?
думаю попробовать это заявлено, что из питона можно тянуть классы джавы
Vladyslav 🇺🇦🇪🇺
https://github.com/kivy/pyjnius
Vladyslav 🇺🇦🇪🇺
на примере вытягиваются данные акселерометра
Tishka17
думаю попробовать это заявлено, что из питона можно тянуть классы джавы
зачем тебе вдруг понадобилось из питона джаву тянуть?
Tishka17
господи, киви
Tishka17
нахуй тебе это?
Vladyslav 🇺🇦🇪🇺
а есть другие варианты поковырять анроид из питона?
Tishka17
есть - не трогать питон
Tishka17
ты такой суперкрутой спец в питоне, что не хочешь джаву?
Vladyslav 🇺🇦🇪🇺
учить джаву или плюсы не хочу
Vladyslav 🇺🇦🇪🇺
почему суперкрутой?
Vladyslav 🇺🇦🇪🇺
и котлин тоже
🍁 Jaŭhien
Flutter, react native
Vladyslav 🇺🇦🇪🇺
господи, киви
так ты ковырял эту либу?
Tishka17
я не знаю других причин писать под андроид на питоне - кроме как поэкспериментирвоать если ты уже охрененно знаешь питон
Никита
ну делай upsert обычный и ладно
Тоесть перевалить логику на бд? Хм, попробую
Никита
Спасибо!
Vladyslav 🇺🇦🇪🇺
Tishka17
так ты ковырял эту либу?
я могу сказать что зная kivy ты 1) не найдешь людей поддерживать твой проект 2) работу под мобилки
Vladyslav 🇺🇦🇪🇺
на серьезных хайлоад проектах
Vladyslav 🇺🇦🇪🇺
я могу сказать что зная kivy ты 1) не найдешь людей поддерживать твой проект 2) работу под мобилки
я не ищу не того не другого мне интерено на сколько это реально - тянуть джаву
Vladyslav 🇺🇦🇪🇺
из питона
Je
Тоесть перевалить логику на бд? Хм, попробую
Конечно, для разрешения конфликтов при вставке есть уже как сказал Тишка - upsert паттерн, гугли по “{your rdbms} update on conflict”
Tishka17
так же как абсолютно бессмысленно в данном кейсе
Vladyslav 🇺🇦🇪🇺
а насчет для чего это может пригодиться - а как насчет ПОПРОБОВАТЬ собрать приложение и двинуть его на плеймаркет?
Vladyslav 🇺🇦🇪🇺
ну вот)
Tishka17
скорее всего оно даже работает
Vladyslav 🇺🇦🇪🇺
скорее всего оно даже работает
похоже на то. фреймворк все таки не безизвестный врядли бы пруфили что-то левое
Vladyslav 🇺🇦🇪🇺
я вот и спрашиваю, может кто-то уже использовал эту либу и тянул классы джавы просто интересен опыт
Je
вообще для такой тупой задачи я бы реляционнуб БД не стал брать
++ но если у поэта душа возжелала, еще это может быть одна база и поддерживать вторую нет желания/сил
Tishka17
похоже на то. фреймворк все таки не безизвестный врядли бы пруфили что-то левое
опять же, что-то приличное на нем будет скорее всего очень сложно сделать