我試圖從 Django 模型中獲取一列資料到 python 串列中,以進一步處理 Django 視圖。
我已經成功創建了一個簡單的 Django 模型并填充了資料。這些欄位是:“id”、“x_coord”、“y_coord”。我已經運行了一些命令來從模型中提取資料。我想將“x_coord”欄位中的值獲取到 Python 串列中,這樣我就可以將 statistics.mean 方法應用于所有值。我在提取資料方面取得了一些成功,請參見下面我在 shell 中發出的 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'>
>>>
uj5u.com熱心網友回復:
該values_list方法回傳一個ValuesListQuerySet.
讓串列更改您的代碼如下
temp_list = list(CC_pts_to_avg.objects.values_list('x_coord',flat=True))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432568.html
標籤:Python django django模型 django-views
上一篇:關系“”在Django中不存在
