av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

python - django 按日歸檔統(tǒng)計訂單求解

瀏覽:150日期:2022-08-02 14:48:12

問題描述

models.py:訂單數(shù)據(jù)模型

class Order(models.Model): date = models.DateTimeField(default=timezone.now) paid_card = models.PositiveIntegerField(blank=True, null=True) paid_cash = models.PositiveIntegerField(blank=True, null=True) paid_gift = models.PositiveIntegerField(blank=True, null=True)statur = models.CharField() @property # 實(shí)收金額(paid_in) = paid_card + paid_cash + paid_gift def paid_in(self):return sum(filter(None, [self.paid_card, self.paid_cash, self.paid_gift]))

views.py: 按日歸檔統(tǒng)計每天的訂單數(shù)、訂單總額

def wx_archive(request): orders = Order.objects.filter(status=’closed’).annotate(day=TruncDay(’start_time’)).values(’day’).annotate(count=Count(’id’), total=Sum(’paid_in’)).values(’day’, ’count’, ’total’).order_by(’day’) return render(request, ’orders/archive.html’, {’orders’: orders})

運(yùn)行后報錯,提示

FieldError at /orders/archive/Cannot resolve keyword ’paid_in’ into field. Choices are: count, day, id, paid_card, paid_cash, paid_gift, status

請問,我該如何統(tǒng)計每日的總 paid_in?

問題解答

回答1:

你的paid_in并不是數(shù)據(jù)庫字段,很明顯不能用在SQL語句中。兩個方法:

把符合時間段的orders實(shí)例取出來,用時間篩選。然后Sum(所有的order.pard_in)

數(shù)據(jù)庫層面Sum所有符合時間段的訂單的paid_card, paid_cash, paid_gift

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩有码在线观看 | 在线观看免费av片 | 韩国av一区二区 | av一二三区 | 国产欧美精品一区二区 | 日韩在线免费视频 | 国产十日韩十欧美 | 亚洲一区中文 | 久久精品黄色 | 99久久精品国产一区二区三区 | 中文在线播放 | 9久久婷婷国产综合精品性色 | 四虎成人精品永久免费av九九 | 日本精品一区二区三区视频 | av一区二区三区四区 | 一区二区视频在线 | 亚洲成人日韩 | 久草在线免费资源 | 91精品国产综合久久久久久首页 | 欧州一区二区三区 | 国产精品一区二区三 | 欧美日韩精品一区二区天天拍 | 欧美激情一区二区三区 | 亚洲视频在线观看免费 | 欧美在线视频不卡 | 亚洲精品久 | 欧美激情久久久 | 日本精品视频 | 狠狠色狠狠色综合系列 | 久久com| 亚洲国产第一页 | 国产成人精品一区二区三区网站观看 | 国产福利91精品一区二区三区 | 亚洲免费视频在线观看 | 一区二区视频在线观看 | 在线观看国产视频 | 精品国产乱码久久久久久中文 | 91天堂| 亚洲第一视频 | 久久久久久高潮国产精品视 | 国产伦精品一区二区三区四区视频 |