嗨,各位大佬们,拉个咨询贴法!
最近看 xorm、gorm、beego orm发现各有自己的优点,但最终决定使用哪个orm框架,还是很迷糊 ,本身很喜欢的django restframework (drf)的 serializer 思路,很方便控制展示API返回的字段;
就这点而言,gorm 查询后有个方法scan(your_struct)以将查询结果赋值自定义字段的struct中,达到drf的效果,xorm和beego orm这两个orm框架目前我还没发现有类似功能(目前发现都是直接将查询结果赋值给查询表struct中,无法一步到位的控制哪些字段不展示),请问有经验的大佬们一般是处理的了?感谢咯
看了下你的需求
理论上来说,你需要一个viewmodel的输出结构,然后用一个方法将你查询出来的数据模型转换成相应的输出结构。
比如你可能需要设置a_group对应的值为空时的输出模型。
由于我不用orm,没法给出具体的步骤。
反正我是自己写了生成代码,对于这种join出来的结构直接根据数据库表结构生成代码的……
#5
更多评论
<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