【发布时间】:2019-04-16 07:31:14
【问题描述】:
我在尝试在查询中将两个不同列中的值相加时遇到了一个问题,即其中一些包含数字。这意味着内置的Concat 不起作用,因为它需要字符串或字符。
考虑到如何在 SQL 中将变量转换为其他数据类型,我不明白为什么我不能在 Django 中做到这一点。
cast(name as varchar(100))
我假设有人会在 Django 中使用 Concat 函数结合Cast 来执行以下操作。
queryset.annotate(new_col=Concat('existing_text_col', Cast('existing_integer_col', TextField())).get())
以上显然行不通,那么有谁知道如何实际做到这一点?
如果有人想知道将 jenkins url 作为一个整体保存为片段的用例。所以一个网址是:
base_url: www.something.com/
url_fragment: name/
url_number: 123456
【问题讨论】:
-
有什么理由在 SQL 中而不是直接在 Django 中执行此操作?即
os.path.join(item.base_url, item.url_fragment, str(item.url_number))? -
安装框架后没有理由在 SQL 中执行此操作。对不起,如果我奇怪地写了我的问题。我只是在 SQL 中给出了一个示例,因为我比 Django 更熟悉它。我不认识 os.path 所以我必须调查一下,但也许这正是我需要的@DanielRoseman