gpt4 book ai didi

python - 操作错误(1054, "Unknown column ' 月'在 'field list' 中)

转载 作者:行者123 更新时间:2023-11-29 19:25:22 25 4
gpt4 key购买 nike

我正在从数据库中注释每月价格,并且遇到此错误,我试图找出原因,所以在我的模型中我有一个 DateTimeField,我尝试过在 shell 内处理数据,一切都很好,我有它,我还尝试使用 MySQL Workbench 查看数据库,数据就在那里,Full traceback以及其余的代码,有人可以解释一下我的注释有什么问题吗?

模型.py

created = models.DateTimeField(auto_now_add=True)

View .py

from django.views.generic import ListView
from django.db.models import Count, Sum
from django.db import connection

from projects.models import Project
from .services import CurrencyConversionService



class ProjectStatisticsList(ListView):
model = Project
template_name = 'statistics/statistics_list.html'
paginate_by = 10

def get_context_data(self, **kwargs):
context = super(ProjectStatisticsList, self).get_context_data(**kwargs)

truncate_month = connection.ops.date_trunc_sql("year", "month")
total_price_per_month = Project.objects.extra({"month": truncate_month}).values("month").annotate(sum_price=Sum("price_aux"))

context['total_price_per_month'] = total_price_per_month
return context

在模板中:

<tr>
{% for data in total_price_per_month %}
<th class="aligh-left"> </th>
{% endfor %}
<td>Month: {{ data.month }}</td>
<td>Price: {{ data.sum_price }}</td>
</tr>

最佳答案

我认为您不能在 values 子句中使用 extra 中的字段。

但这确实是错误的做法。您应该使用 Django 的数据库功能支持;具体来说,extract function :

from django.db.models.functions import Extract
Project.objects.annotate(month=Extract('created', 'month').values("month").annotate(sum_price=Sum("price_aux"))

关于python - 操作错误(1054, "Unknown column ' 月'在 'field list' 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42181399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com