嗨,各位大佬们,拉个咨询贴法!
最近看 xorm、gorm、beego orm发现各有自己的优点,但最终决定使用哪个orm框架,还是很迷糊 ,本身很喜欢的django restframework (drf)的 serializer 思路,很方便控制展示API返回的字段;
就这点而言,gorm 查询后有个方法scan(your_struct)以将查询结果赋值自定义字段的struct中,达到drf的效果,xorm和beego orm这两个orm框架目前我还没发现有类似功能(目前发现都是直接将查询结果赋值给查询表struct中,无法一步到位的控制哪些字段不展示),请问有经验的大佬们一般是处理的了?感谢咯
如果是简单的sql,其实直接用go的sql库或者sqlx库就很好了。
生成代码本身并不复杂,就是根据不同的数据库做映射的硬功夫而已
https://github.com/herb-go/herb-go/blob/master/mohttps://beego.medules/modelmapper/select.go
https://github.com/herb-go/herb/tree/master/model/sql/db/columns
但这种代码肯定是和你使用的框架深度整合的,所以基本没什么参考意义。
你如果不是一定要使用orm的话,可以考虑querybuilder
#7
更多评论
<a href="/user/heyHui2018" title="@heyHui2018">@heyHui2018</a> 因为会有这样的需求,同一张表,可能不同API对外展示的字段不一样,所以我想用不同个性化的struct来存通过beego ORM filter后的数据,再由这个struct来对外展示 json ;
A struct {
A_Field_NAME `json:"a_name"`
A_Field_VALUE `json:"a_value"`
}
B struct {
A_Field_NAME `json:"b_name"`
}
#2