beego orm 多对多插入和查询操作
Posted mishell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beego orm 多对多插入和查询操作相关的知识,希望对你有一定的参考价值。
// User 用户表 type User struct { ID int UserName string Password string Articles []*Article `orm:"rel(m2m)"` } // Article 文章表 type Article struct { ID int `orm:"pk;auto"` Artiname string `orm:"size(60)"` Atime time.Time `orm:"auto_now"` Acount int `orm:"default(20);null"` Acontent string Aimg string ArticleType *ArticleType `orm:"rel(fk)"` Users []*User `orm:"reverse(many)"` }
// 多对多插入,user article := models.Article{ID: id} // 1 获取多对多操对象 m2m := o.QueryM2M(&article, "Users") // 2 获取插入对象 username := c.GetSession("username").(string) beego.Info(username) var user = models.User{UserName: username} o.Read(&user, "UserName") // 3 多对多插入 _, err = m2m.Add(&user) if err != nil { beego.Info("插入多对多失败") } // 多对多查询 article := models.Article{ID: id} err = o.QueryTable("Article").RelatedSel("ArticleType").One(&article) o.LoadRelated(&article,"Users")
删除方法和添加方法一样,将add改成Remove即可。
以上是关于beego orm 多对多插入和查询操作的主要内容,如果未能解决你的问题,请参考以下文章
Python学习第135天(Django的ORM多对多查询)