Python django合并返回数据类型

Python django合并返回数据类型,python,django,coalesce,Python,Django,Coalesce,如何确定属性的返回数据类型 使用 它将我的float字段更改为unicode字符串。我想优先考虑浮动字段 编辑 您主要尝试的是合并不同数据类型的列。您还没有指定实际的DB引擎,但我可以想象这种操作只有两个合理的结果: 抛出错误,这不是您的情况 将这两列的数据类型强制转换为公共祖先(如果该祖先存在),或将其转换为字符串类型(否则) 看起来在你的情况下,这是第二种选择 如果您试图通过bm\u-rank然后通过sales\u-rank然后通过created\u-at进行订购,实际上您可以使用以下方

如何确定属性的返回数据类型

使用 它将我的float字段更改为unicode字符串。我想优先考虑浮动字段

编辑
您主要尝试的是合并不同数据类型的列。您还没有指定实际的DB引擎,但我可以想象这种操作只有两个合理的结果:

  • 抛出错误,这不是您的情况
  • 将这两列的数据类型强制转换为公共祖先(如果该祖先存在),或将其转换为字符串类型(否则)
看起来在你的情况下,这是第二种选择

如果您试图通过
bm\u-rank
然后通过
sales\u-rank
然后通过
created\u-at
进行订购,实际上您可以使用以下方式进行订购,而无需合并:


看起来您正在合并两个浮动
bm\u-rank
sales\u-rank
,并在处创建时间戳
。我可能错了,但最有可能的是,在
创建的不应该在列表中。顺便说一句,如果您发布数据库结构Done,可能会有所帮助。添加了数据库结构。谢谢你,在删除了在创建的
并添加了
id
之后,我尝试合并不同的数据类型列+1.
self.projects(
                select={"priority": "COALESCE(bm_rank, sales_rank, created_at)",

                },
                order_by=["priority"])
bm_rank = models.FloatField("Bizman Rank", max_length=10, blank=True, null=True)    
sales_rank = models.FloatField("Sales Rank", max_length=10, blank=True, null=True)
created_at = models.DateTimeField("Date Submitted", auto_now_add=True) 
self.projects(order_by=["bm_rank", "sales_rank", "created_at"])