我试图为用户注册创建一个休息 API,在该 api 上有一个名为“gender”的字段,所以我将该字段作为 Struct 接收,但在用户表上没有“gender”字段。使用gorm插入时是否可以从结构中跳过“性别”字段?这是我的数据模型package DataModelstype User struct { Id uint `json:"id"` Otp int `json:"otp"` UserId string `json:"user_id"` UserType string `json:"user_type"` FullName string `json:"full_name"` MobileNo string `json:"mobile"` Email string `json:"email"` Gender string `json:"gender"` // I want to skip this filed while inserting to users table Password string `json:"password"`}func (b *User) TableName() string { return "users"}这是我的控制器功能func CreateUser(c *gin.Context) { var user Models.User _ = c.BindJSON(&user) err := Models.CreateUser(&user) // want to skip that gender filed while inserting if err != nil { fmt.Println(err.Error()) c.AbortWithStatus(http.StatusNotFound) } else { c.JSON(http.StatusOK, user) }}这是我插入的模型函数func CreateUser(user *User) (err error) { if err = Config.DB.Create(user).Error; err != nil { return err } return nil}
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
GORM允许你忽略带有标签的字段,gorm:"-"用来忽略字段
type User struct {
...
Gender string `json:"gender" gorm:"-"` // ignore this field when write and read
}
有关字段级权限的官方文档详细信息
- 2 回答
- 0 关注
- 801 浏览
添加回答
举报
0/150
提交
取消