peewee (python orm 라이브러리)의 단일 트랜잭션에 모든 인스턴스를 저장하는 방법은 무엇입니까? 예 :peewee (python)의 단일 트랜잭션에서 모든 인스턴스를 저장하는 방법은 무엇입니까?
from peewee import SqliteDatabase, Model, TextField
DB_NAME = 'users.db'
db = SqliteDatabase(os.path.join(os.path.dirname(__file__), DB_NAME))
class Users(Model):
user_id = IntegerField(index = True)
name = TextField(null = True, index = True)
password = TextField(null = True)
description = TextField(null = True)
class Meta:
database = db
if not Drugs.table_exists():
Drugs.create_table()
data_to_save = [('user1', 'pass1'), ('user2', 'pass2'), ('user3', 'pass3')]
for user_name, user_password in data_to_save:
user_data = Users.get_or_create(name=user_name, password=user_password)
user_data.save()
단일 트랜잭션으로 재 작성하는 방법은 무엇입니까?
나는이 주석을 추가하기를 원한다. 트랜잭션에서 행을 읽고 읽으려고 시도하는 동안 행을 잠그도록 MySQL/Postgres에 어려움을 겪고 있다면, [for update method] (http://peewee.readthedocs.org/en/latest/peewee/api.html?highlight=for_update#SelectQuery.for_update). 참고 : SQLite에서는 지원되지 않습니다. –