peewee_async get_or_create Ошибка утверждения - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать простой асинхронный get_or_create:

database = Bot.database

class Settings(Bot):
    guild_name = peewee.TextField(default="None")
    guild_id = peewee.BigIntegerField(primary_key=True, unique=True)

    class Meta:
        database = database

class UserDB(Bot):
    guild_id = peewee.ForeignKeyField(Settings, default=0, 
                                      on_update='CASCADE', on_delete='CASCADE')
    member_id = peewee.BigIntegerField(default=0)

    class Meta:
        primary_key = peewee.CompositeKey('member_id', 'guild_id')
        database = database

db = peewee_async.Manager(database)

database.set_allow_sync(False)

async def modactiondb(ctx, member, newcase, action, time=None):
    await db.get_or_create(UserDB, guild_id=ctx.guild.id, member_id=member.id)

Но я всегда получаю AssertionError, если запись НЕ в базе данных

AssertionError: Error, sync query is not allowed! Call the `.set_allow_sync()` or use the `.allow_sync()` context manager.

Может быть, кто-то может объяснить мне, в чем причина моей ошибки после нескольких дней тестирования, это очень расстраивает.

...