0
0 комментариев

Имеется джанго проект с использованием бд postgresql

Есть модель

class Orders(models.Model):
    order = models.TextField(null=True, blank=True)
    responsible = models.CharField(max_length=200, null=True, blank=True)

Пытаюсь в отдельном файле сделать к ней коннект и создавать каждый раз новую модель с входящими данными

pool = None
 
async def get_orders():
    async with pool.acquire() as conn:
        result = await conn.fetch('SELECT * FROM market_orders')
        if not result:
            return []
        else:
            return result
 
async def init_db():
    global pool
    pool = await asyncpg.create_pool("postgresql://name:password@localhost/name")

Вот эта функция кажется мне слишком корявой

async def add_name(name):
    async with poll.acquire() as conn:
        cur = poll.cursor()
        #название таблицы из базы данных market_orders
        insert = 'INSERT INTO vendors(market_orders) VALUES(%s);'
        add = await cur.execute(insert, (name,))
 
async def on_ready():
    a = ['one','two','three']
    orders= await get_orders()
    for order in orders:
        # здесь пытаюсь сделать новую модель и заполнить ее информацией
        await add_name(a[0])
        pool.commit()

Подскажите пожалуйста насчет моей функции add_name и самого процеса добавления, как это лучше сделать?
Потому что чувствую что слишком коряво и неправильно. Спасибо!

Изменен статус публикации
Добавить комментарий