Skip to main content
 首页 » 编程设计

python之连接到 Django 查询中的新字段

2024年08月16日29dudu

考虑一个名为 DataTable 的表。它有两个字段,A 和 B。我想返回此表的所有行并注释一个名为 C 的字段,该字段是 A 和 B 的串联。

这是我尝试过的

from django.db.models import CharField, Value 
from .models import DataTable 
 
def Test(request): 
    query = DataTable.objects.all().annotate(C=Value('A' + '-' + 'B',  
          output_field=CharField())) 
    # the rest of the function... 

这里的问题是 C 实际上只是每个返回行的字符串文字“A - B”。我想在该串联中使用 A 和 B 的实际值。

请您参考如下方法:

看起来你需要concat :

from django.db.models import CharField, Value 
from django.db.models.functions import Concat 
 
query = DataTable.objects.annotate(C=Concat('A',  
          Value('-'), 'B', output_field=CharField()))