coalesce
如何确定属性的返回数据类型?
self.projects(
select={"priority": "COALESCE(bm_rank, sales_rank, created_at)",
},
order_by=["priority"])
它将我的浮动字段改为unicode字符串。我想优先获得浮点字段。
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)
答案 0 :(得分:1)
您正在尝试的是合并不同数据类型的列。你还没有指定你的实际数据库引擎,但我可以想象这种操作只有两个合理的结果:
在您的情况下看起来是第二种选择。
如果您尝试按bm_rank
订购,然后按sales_rank
订购created_at
,那么您实际上可以使用order_by完成合并,例如:
self.projects(order_by=["bm_rank", "sales_rank", "created_at"])