5.9 Добавление асинхронности в запросах SQLAlchemy
4 из 4 шагов пройдено

И последним шагом, протестируем проект и создадим следующую структуру для наших категорий.

Обратите внимание, что PostgreSQL не пропустит запрос создания родительской категории, где "parent_id": 0, теперь нам необходимо использовать в запросе "parent_id": null

Создадим следующие категории:

  • Apple
    • Смартфоны
    • Ноутбуки
    • Планшеты
  • Asus

Можете их создать запустив сервер командой uvicorn app.main:app --reloadи используя документацию. Также можете напрямую выполнить SQL запрос:

INSERT INTO public.categories (id, name, slug, is_active, parent_id) VALUES (1, 'Apple', 'apple', true, null);
INSERT INTO public.categories (id, name, slug, is_active, parent_id) VALUES (2, 'Смартфоны', 'smartfony', true, 1);
INSERT INTO public.categories (id, name, slug, is_active, parent_id) VALUES (3, 'Ноутбуки', 'noutbuki', true, 1);
INSERT INTO public.categories (id, name, slug, is_active, parent_id) VALUES (4, 'Планшеты', 'planshety', true, 1);
INSERT INTO public.categories (id, name, slug, is_active, parent_id) VALUES (5, 'Asus', 'asus', true, null);

В результате получим следующую структуру категорий:

Также создадим товары в нашей БД, можете также использовать следующий запрос.

INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (1, 'IPhone 15', 'iphone-15', 'string', 100000, 'string', 10, 2, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (2, 'IPhone 14', 'iphone-14', 'string', 80000, 'string', 15, 2, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (3, 'IPhone 13', 'iphone-13', 'string', 72000, 'string', 5, 2, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (4, 'IPhone 12', 'iphone-12', 'string', 65000, 'string', 2, 2, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (5, 'MacBook Air', 'macbook-air', 'string', 90000, 'string', 8, 3, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (6, 'MacBook Pro', 'macbook-pro', 'string', 140000, 'string', 11, 3, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (7, 'iPad (9th Gen)', 'ipad-9th-gen', 'string', 35000, 'string', 30, 4, 0, true);
INSERT INTO public.products (id, name, slug, description, price, image_url, stock, category_id, rating, is_active) VALUES (8, 'iPad (10th Gen)', 'ipad-10th-gen', 'string', 52000, 'string', 20, 4, 0, true);

В результате мы получим следующие товары.

На этом основная работа с запросами закончена, далее мы продолжим работать над проектом, в том числе с запросами SQLAlchemy.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.