如何在Django查询集中使用concat和chr函数?

问题描述 投票:2回答:1

我正在尝试这样的事情:

my_field=Concat(
                (chr(65) + F("foo")),
                F("bar") + Value(1),
                output_field=CharField(),
            )

但是我收到此错误:invalid input syntax for integer: "A"

[foobar返回一个整数,我希望像结果一样是“ A1,A2”。

django django-queryset concat
1个回答
0
投票

您应该将Cast [Django-doc]的值Cast设置为CharField,例如:

my_field = Concat(
    Value('A'),
    Cast(F('foo'), output_field=CharField()),
    Value(',A'),
    Cast(F('bar') + Value(1), output_field=CharField()),
    output_field=CharField()
)
© www.soinside.com 2019 - 2024. All rights reserved.