Извлечение данных из Django Queryset и вставка в список Python

Я пытаюсь получить один столбец данных из модели Django в список python для дальнейшей обработки в представлении Django.

Я успешно создал простую модель Django и заполнил данные. Поля следующие: "id", "x_coord", "y_coord". Я выполнил несколько команд для извлечения данных из модели. Я хочу получить значения из поля "x_coord" в список Python, чтобы затем применить метод statistics.mean ко всем значениям. Я добился некоторого успеха в извлечении данных, см. ниже команды Django, которые я выполнил в оболочке, но я не могу получить данные в список Python. Любая помощь будет оценена по достоинству.

Определение модели

#
class CC_pts_to_avg(models.Model):
    x_coord = models.DecimalField(max_digits=3, decimal_places=2)
    y_coord = models.DecimalField(max_digits=3, decimal_places=2)
#
    def __str__(self):
        return self.x_coord

Команды, выданные в shell

set environment
(in mysite directory) python manage.py shell

from polls.models import CC_pts_to_avg
 
temp_list = CC_pts_to_avg.objects.values_list('x_coord',flat=True)

>>> temp_list
<QuerySet [Decimal('0.60'), Decimal('0.60'), Decimal('0.45'), Decimal('0.60'), Decimal('0.90'), Decimal('0.60'), Decimal('0.60'), Decimal('0.50'), Decimal('0.60'), Decimal('0.60'), Decimal('0.60'), Decimal('0.65'), Decimal('0.60'), Decimal('0.60'), Decimal('0.60'), Decimal('0.60'), Decimal('0.60'), Decimal('0.60'), Decimal('0.50'), Decimal('0.75'), '...(remaining elements truncated)...']>
>>>

>>> temp_list[0]
Decimal('0.60')

>>> temp_list[2]
Decimal('0.45')

>>> type(temp_list[0])
<class 'decimal.Decimal'>

>>> type(temp_list)
<class 'django.db.models.query.QuerySet'>
>>>

Метод values_list возвращает ValuesListQuerySet.

для получения списка измените свой код следующим образом

temp_list = list(CC_pts_to_avg.objects.values_list('x_coord',flat=True))
Вернуться на верх