@ru_python

Страница 6423 из 9768
1NF3sted
03.09.2018
14:26:56
/rmkb@remkeybot

Эникиев
03.09.2018
14:50:48
Здрасте. Я сразу с вопросом. Как узнать какая версия питона нужна пакету с pypi.org?

Cykooz
03.09.2018
14:52:42
Там сбоку, в левой колонке ищите

Alex
03.09.2018
14:53:13
Обычно указывают среди Trove classifiers

Google
Cykooz
03.09.2018
14:53:52


Эникиев
03.09.2018
14:54:13
Спасибо

Cykooz
03.09.2018
14:54:34
Или там ниже ещё вот так написано



Stas
03.09.2018
15:03:01
блин

меня щас уже бомбанет от этой алхимии

Object '<Work at 0x10535b978>' is already attached to session '2' (this is '1')

я создаю объект сессии, два раза к нему делаю add

и commit

втф

Cykooz
03.09.2018
15:06:39
Нельзя два раза добавлять один и тот же объект. Добавляй два разных объекта (пусть даже содержимое у них одинаковое)

Stas
03.09.2018
15:07:51
я разные добавляю

но между ними связь

Google
Stas
03.09.2018
15:08:25
base = models.Base(name=request.json['base'], dump_id=dump_id, size="0.") s.add(base)

Cykooz
03.09.2018
15:08:26
Или, судя по ошибке, у тебя две сессии, и ты пытаешься добавить в сессию '1' объект, который уже добавлен в сессию '2'

Stas
03.09.2018
15:08:38
work = models.Work(base=base, status=request.json['status']) s.add(work) s.commit()

да нет же s = db.session()

я сверху ее же сам создаю

как я могу пытаться в другую добавить

и объекты разные

Cykooz
03.09.2018
15:10:09
Если объект связан - просто добавь второй объект в первый, оно помоему автоматом добавится в сессию (если первый был в сессии)

p = Parent(pname, pid) session.add(p) p.children.append(Child(loc=cloc, status=cstat)) session.commit()

Stas
03.09.2018
15:12:23
пытался так

не добавлялся почему то

# noinspection PyArgumentList work = models.Work(base=base, status=request.json['status']) base.work.append(work) s.commit()

Cykooz
03.09.2018
15:13:55
Так base не надо передавать в Work

Stas
03.09.2018
15:15:29
убрал

всеравно

ошибок нету

но не создал

# noinspection PyArgumentList base.work.append(models.Work(status=request.json['status'])) db.session.commit()

чтото я намудрил

если стопнуть сервер и запустить

Google
Stas
03.09.2018
15:24:08
и послать post то он добавит

@app.route('/api/v0.1/dumps/<int:dump_id>', methods=['GET', 'POST']) def get_bases(dump_id): with db.session.no_autoflush: if request.method == 'POST': if not request.json or 'base' not in request.json or 'status' not in request.json: abort(400) base = models.Base.query.filter_by(name=request.json['base'], dump_id=dump_id).first() if base is None: query = None # noinspection PyArgumentList base = models.Base(name=request.json['base'], dump_id=dump_id, size="0.") db.session.add(base) else: query = db.session.query(models.Work).\ filter_by(status=request.json["status"]).\ join(models.Work.base).\ filter_by(dump_id=dump_id).first() if query is not None: query.update(started=datetime.now) else: print(base) # noinspection PyArgumentList base.work.append(models.Work(status=request.json['status'])) db.session.commit() return json.dumps(models.Work.query.filter_by(base=dump_id).all(), cls=CustomJSONEncoder) elif request.method == 'GET': query = models.Base.query.filter_by(dump_id=dump_id).all() print(query) return Response(response=json.dumps(query, cls=CustomJSONEncoder), status=200, mimetype="application/json")

блин помогите разобраться что не так

вот мой весь ужасный метод

суть такая, что если запустить сервак заново и послать реквест в котором будет base которого еще нету, он его добавит

и ворк добавит

если потом послать реквест для уже существующего base, то ничего не случится

и после этого если попробовать третий реквест такой же как и первый, вылетет эксепшен что database locked

контекстный менеджер with db.session.no_autoflush:

уже от отчаянья добавил

Tigran
03.09.2018
15:37:19
жестоко

Stas
03.09.2018
15:38:00
жестоко
Что именно?

Tigran
03.09.2018
15:38:15
я про код в целом

Denis
03.09.2018
15:38:17
какая python ide под убунту есть нормальная?

Stas
03.09.2018
15:38:53
я про код в целом
Буду рад если объяснишь чуть подробнее

Lizard_King
03.09.2018
16:02:04
какая python ide под убунту есть нормальная?
Spyder можешь попробовать, она более легковесная

Сергей
03.09.2018
16:02:54
Jl
03.09.2018
16:02:59
Онли вим

Google
Jl
03.09.2018
16:03:58
Но это не ide

Сергей
03.09.2018
16:04:11
правда к емаксу педали нужны

Alexandr
03.09.2018
16:04:37
правда к емаксу педали нужны
и нормальный редактор

Алексей
03.09.2018
16:17:33


Alexandr
03.09.2018
16:19:28
Ну в клавише PrtScr, например

ivanblch R13 [Denis ?? Armavir]
03.09.2018
16:19:56
правда к емаксу педали нужны
зачем емаксу педали? оно ж не автомобиль, оно космический корабль. Ему гироскоп нужен и джойстик

?? Eugene
03.09.2018
16:20:51
Словарь не насилуй

ivanblch R13 [Denis ?? Armavir]
03.09.2018
16:22:15
если конкретно - b у тебя уже строка

?? Eugene
03.09.2018
16:22:48
Принты расставь да проверь

ivanblch R13 [Denis ?? Armavir]
03.09.2018
16:22:50
а ты думаешь, что у тебя там все еще словарь и пытаешься найти имя по строковому индексу

?? Eugene
03.09.2018
16:24:15
Да, все именно так, как сказал господин выше

ivanblch R13 [Denis ?? Armavir]
03.09.2018
16:28:48
правильно будет for item in info: print(item['first_name']) потому что перебором типа for a, b in info.items(): ты перебираешь уже содержимое словарей внутри списка, и у тебя a и b идут парой строк, тебе достаточно print(b) сделать, а не print(b['first_name'], т.к. b и так уже равно тому, что в выдаваемом командой info1.items() лежит под индексом a

надеюсь, оп прочитал это

Алексей
03.09.2018
16:29:43
Thank you

Eldar
03.09.2018
16:37:57
Такие вопросы в питон бегинерс задавай

Jl
03.09.2018
17:47:10


Как проверить word ?

Проверка на None не работает

Может есть какой атрибут ?

ivan
03.09.2018
17:48:08
В смысле не работает?

Google
Jl
03.09.2018
17:48:39
word в себе хранит кучу значений

ivan
03.09.2018
17:48:45
Ну, во-первых, в случае с конкретно None лучше не сравнение а is использовать

Jl
03.09.2018
17:49:07


но строк он в себе не хранит

ivan
03.09.2018
17:50:28
И что, заходит в блок if? Попробуй is использовать Если не канает, то у тебя рили в word None находится

Jl
03.09.2018
17:50:48


Ебала

ivan
03.09.2018
17:51:11
Блять Так а тебе что надо???

Alex
03.09.2018
17:51:24
эм... а ничего что filter() возвращает не объект записи, а объект Query?

ivan
03.09.2018
17:51:32
word в себе хранит кучу значений
Ты сам сказал, что у тебя word

Конечно он будет в сравнении с None давать False

Jl
03.09.2018
17:52:20
Смотри, я делаю select запрос, он нихуя не возвращает, кроме атрибутов. По какому атрибуту можно посмотреть вернул он строки или нет.

Alex
03.09.2018
17:52:38
эм... начнем с того что ты не делаешь запрос

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