@zyusifov11

Как получить уникальные значения из базы Django orm?

У меня есть база в которой есть категории например 10 записей категории спорт 5 записей политика, так вот как мне получить список этих категорий чтоб выдалось по 1 ой категории, тоесть :
Спорт
Политика
Вот такой результат.
Спасибо заранее
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
Tomio
@Tomio
backend developer (python, php)
ORM не будет работать без моделей. Если вам нужно обратиться к таблице, для которой не создана релевантная модель, то вам придется выполнить запрос напрямую к этой таблице.

from typing import Any, Dict, List
from django.db import connection

with connection.cursor() as cursor:
    cursor.execute('SELECT DISTINCT category_name FROM some_table_name;')
    columns = [col[0] for col in cursor.description]
    rows: List[Dict[Any, Any]] = []
    row = cursor.fetchone()
    while row:
        rows.append(dict(zip(columns, row)))
        row = cursor.fetchone()
print(rows)


На выходе у вас будет список словарей, где один словарь - это одна строка таблицы с названием поля и его значением.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
совет, который уже дан - ничего не стоит
бери из модели категорий сразу
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы