Код: Выделить всё
class Model(SqlModel):
columns = ('id', 'details', 'parent_id')
parent: RelatedModel
Model.parent = belongs_to(Model, Model, 'parent_id')
...
def example(some_id, some_other_id):
record = Model.find(some_id)
record.parent = Model.find(some_other_id)
record.parent().save()
Пример реализации в синхронном отношении можно найти здесь.
Я скопировал всю модель SQL, построитель запросов и ORM для использования асинхронности. Пример реализации в асинхронном отношении можно найти здесь. Шаблон асинхронного использования аналогичен синхронному:
Код: Выделить всё
class AsyncModel(AsyncSqlModel):
columns = ('id', 'details', 'parent_id')
parent: AsyncRelatedModel
AsyncModel.parent = async_belongs_to(AsyncModel, AsyncModel, 'parent_id')
...
async def example(some_id, some_other_id):
record = await AsyncModel.find(some_id)
record.parent = await AsyncModel.find(some_other_id)
await record.parent().save()
Совет из аналогичного вопроса — переписать функцию так, чтобы она была асинхронной, но это неправдоподобное решение для свойства.
Есть ли решение, которое не требует повторного преобразования разработать шаблон использования всей библиотеки или зависит от заброшенного пакета?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -not-produ