文档章节

model的struct必须有一个pk

SunnyGo
 SunnyGo
发布于 2016/06/28 13:19
字数 244
阅读 28
收藏 0

Beego规定在models里面的struct必须有一个PK,如果没有的话,会提示github.com/sunnygocms/managementCMS/models.SunnyUserAndGroup need a primary key field

这个是以bee -api 根据sunny_user_and_group这个表自动生成的为例来解释。

原生成的是:

package models
type SunnyUserAndGroup struct {
    UserId      int `orm:"column(user_id);"`
    UserGroupId int `orm:"column(user_group_id);"`
}

明显是什么都不能做,我按照别的models修改了一下,于是就报了上面的错误,修改的文件如下:

package models
import (
    "github.com/astaxie/beego/orm"
)

type SunnyUserAndGroup struct {
    UserId      int `orm:"column(user_id);"`
    UserGroupId int `orm:"column(user_group_id);"`
}
func (t *SunnyUserAndGroup) TableName() string {
    return "sunny_user_and_group"
}
func init() {
    orm.RegisterModel(new(SunnyUserAndGroup))
}

//only insert one
func AddSunnyUserAndGroup(m *SunnyUserAndGroup) (id int64, err error) {
    o := orm.NewOrm()
    id, err = o.Insert(m)
    return
}

经过研究知道是因为Beego要求必须有一个主键,因为我原表里面是双主键,估计是bee没有自动生成好。其实修改起来也是非常方便的:

type SunnyUserAndGroup struct {
    UserId      int `orm:"column(user_id);pk"`  //此处加上pk
    UserGroupId int `orm:"column(user_group_id);"`
}

 

© 著作权归作者所有

共有 人打赏支持
SunnyGo
粉丝 7
博文 28
码字总数 8249
作品 0
东城
技术主管
c语言中的面向对象(1)----kobject 和 container_of

最近看驱动开发,看linux的device model,有一些感触。暂记于下。 我之前一直把OO(object oriented)这个概念和特定的语言联系在一起。比如,认为c++,java,python等是面向对象的语言,C语...

ChenQi
2011/11/28
0
3
OPNET报错总结及注意事项

一、报错总结 【报错1】fatal error C1074: 'IDB' is illegal extension for PDB file 【解决方案】出现该错误的原因是因为用兼容方式打开了OPNET Modeler,取消兼容性即可。 【报错2】报错时...

gongxifacai_believe
2017/11/17
0
0
go语言的beedb

关于go语言的orm:beedb网上资料太少了,今天才开始研究,总结了一些,希望对大家有帮助,不说没用的了,直接主题: 安装: go get github.com/astaxie/beedb API地址: https://github.com...

GIS土匪
2016/07/21
59
0
我的第一个python web开发框架(27)——定制ORM(三)

  在上一章中,我们已经创建好ORM的基类了,接下来要做的就是将基类的常用方法一一实现。   首先我们来看看之前项目中,最常见的获取指定主键的记录实体 @get('/api/product//')def call...

AllEmpty
08/03
0
0
boost库,Multi_Index的组合索引使用字符串数组

///@brief 声明字符比较 struct CharCompareLess { static inline int compare(const char left, const char right) { return strcmp(left, right); } inline bool operator()(const char le......

魔界卧龙
2015/09/06
204
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
26
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部