我想選擇一個字段是字符串和列值串聯的行。這是最接近我可以得到:Django select字段是字符串和列值的串聯
qs = Report.objects.filter(job=self, persona__identity="u" + F("user__id"))
報告具有字段的角色和用戶。角色對象包含標識符和ID串聯的標識字段。我試圖獲取角色的身份字符串與報告引用的用戶相匹配的所有報告。 (注意,這些都不是我實際的表名......改變,以保護無辜的一切。)
這將產生一個查詢類似,
WHERE (`persona`.`identity` = u + `report`.`user_id` AND ...
,但我真正需要的是一樣的東西
WHERE (`persona`.`identity` = CONCAT("u", `report`.`user_id`) AND ...
有沒有辦法與ORM做到這一點?
你considedered改變Persona.identity到reular FK到用戶表(而不是 'U' + id)的?如果您想提供數據完整性,則建議使用IMO。 – dzida