第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django,如何根據(jù)值獲取兩個字段值的總和

Django,如何根據(jù)值獲取兩個字段值的總和

白衣非少年 2021-08-17 18:47:46
模型.pyclass Iso(models.Model):    service_type = models.CharField(max_length=100, blank=True, null=True)    field_1 = models.IntegerField(blank=True, null=True)    field_1_size = models.IntegerField(blank=True, null=True)    field_2 = models.IntegerField(blank=True, null=True)    field_2_size = models.IntegerField(blank=True, null=True)在我的 views.py 中,我有兩個查詢集,如下所示,現(xiàn)在如果我想將查詢組合在一起,并且如果用戶輸入的 field_1 值和 field_2 值相同,則應(yīng)該對其進行匯總。qs1 = Model.objects.values('service_type', 'field_1')\            .annotate(field_total=Sum('field_1_size'))qs2 = Model.objects.values('service_type', 'field_2')\            .annotate(field_total=Sum('field_2_size'))我試過,如果 field_1 和 field_2 相同, qs_tot = qs1.union(qs2) 它結(jié)合了查詢集但不給出總和值。任何幫助將不勝感激。謝謝你。
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

我認為這應(yīng)該對你有用。您可能需要更改它以滿足您的需要,但它顯示了Case在Sum注釋中使用的概念。


Model.objects.annotate(

    same_total=Sum(

        Case(

            When(

                field_1=F('field_2'),

                then=F('field_1_size')+F('field_2_size'),

            ), output_field=IntegerField(),

        )

    )

)


查看完整回答
反對 回復(fù) 2021-08-17
  • 1 回答
  • 0 關(guān)注
  • 282 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號