#peewee
Вопрос:
Я хочу обновлять сотни (или даже тысячи) записей одновременно с помощью Peewee FlaskDb (который находится на фабрике приложений).
Ссылаясь на документацию Peewee, я bulk_update
хорошо работаю (и это очень быстро по сравнению с другими методами), но это не удается при использовании пакетов.
Например, Ticket.bulk_update(selected_tickets, fields=[Ticket.customer])
отлично работает, но когда я использую следующий код для пакетного обновления, я получаю следующую ошибку.
код
with db.atomic(): Ticket.bulk_update(selected_tickets, fields=[Ticket.customer], batch=50)
ошибка
AttributeError: 'FlaskDB' object has no attribute 'atomic'
Каков рекомендуемый способ массового обновления записей с помощью FlaskDB? Поддерживает ли FlaskDB atomic?
Ответ №1:
Вы пытаетесь получить доступ к чибису.Методы базы данных в классе оболочки FlaskDB. Этих методов не существует, вам нужно обратиться к базовой базе данных Peewee:
# Here we assume db is a FlaskDB() instance: peewee_db = db.database with peewee_db.atomic(): ...