文档章节

model的struct必须有一个pk

SunnyGo
 SunnyGo
发布于 2016/06/28 13:19
字数 244
阅读 38
收藏 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
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*......

魔界卧龙
2015/09/06
261
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
2018/08/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx反向代理配置去除前缀

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:...

架构师springboot
23分钟前
1
0
QianBill API 开发笔记

JWT

BeanHo
35分钟前
3
0
Elasticsearch实战篇——Spring Boot整合ElasticSearch

当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来探讨Spring Boot整合ElasticSearch的问题。 本文主要讲以下内容: 第一部分,通...

JAVA_冯文议
44分钟前
3
0
不错的linux下通用的java程序启动脚本

#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com, Date: 2011/6/7...

sprouting
今天
3
0
Linux manjaro系统安装后无法连接wifi,解决方案

笔记本为联想 thinkpad E480 首先通过命令lspci -k看一下原因是否为缺少wifi驱动,如下,如果没有Kernel driver in use,说明缺少驱动。 05:00.0 Network controller: Realtek Semiconducto...

bluecoffee
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部