首页 > 其他分享 >【go】gorm中去掉默认表名后的s复数形式

【go】gorm中去掉默认表名后的s复数形式

时间:2024-03-25 11:25:53浏览次数:22  
标签:ali 默认 报错 复数 表名 go gorm

【go】gorm中去掉默认表名后的s复数形式

背景
使用gorm时,查询数据时mysql报错,显示表名不存在,仔细查看,报错的表名中增加了s,比如实际数据库表名是:ali_user,报错信息中显示表 ali_users 不存在

原因
gorm默认使用结构体的复数形式作为表名
比如:

# 表结构体定义如下:
type AliUser struct{
	ID int64 `json:id`,
}

# 实际读取数据时,定义该类型的变量接收数据,报错,显示 ali_users表名不存在

解决
在model中增加显式定义表名,不使用gorm的隐式表名定义规则

# TableName 解决gorm表名映射
func (AliUser) TableName() string {
	return "ali_user"     # gorm中默认定义的表名是 ali_users,但其实数据库并没有这个表
}

标签:ali,默认,报错,复数,表名,go,gorm
From: https://www.cnblogs.com/alisleepy/p/18093981

相关文章

  • Go-Rod #3 Context and Timeout
    这个示例演示了如何设置超时操作。packagemainimport( "math/rand" "time" "github.com/go-rod/rod")funcmain(){ page:=rod.New().MustConnect().MustPage("https://github.com") page. //Seta5-secondtimeoutforallcha......
  • Django 字段类型,字段参数,以及在drf中的使用。
    字段类型#models中CharField,DecimalField.....#记住的: CharFieldIntegerFieldFloatFieldDecimalFieldDateTimeFieldDateField#知道--》models中没有的---》反序列化的时候,前端传入的{name:lqz,age:19,hobby:[篮球,足球],wife:{name:lyf,age:38}} ListF......
  • drf: 序列化和反序列化, Django Rest_Framework 介绍也安装及使用。
    序列化与返序列化序列化:将python中的数据类型转换成指定数据类型发送给别人返序列化:接收别人发送过来的数据,返序列化成我们所需要的格式。eg::前端js提供过来的json数据,对于python而言就是字符串,我们需要进行反序列化换成模型类对象,这样我们才能把数据保存到数据库中。DjangoR......
  • 【独立开发前线】Vol.16 推荐6个生成产品ICON图标产品LOGO的网站
    对于独立开发者而言,很大一个问题就是需要设计ICON和LOGO,今天为大家推荐6款神器,帮你快速搞定它们;1.IconKitchenIconKitchen2.Logofa.stLogoFast|MakeBeautifulLogosFastandFree3.Logostore.aiLogoStoreAI4.LogotouseLogoToUse-Freehigh-qualityLo......
  • 【go从入门到精通】闭包和陷阱
     作者简介:    高科,先后在IBMPlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。(谢谢你的关注) -------------......
  • 栅格地图路径规划:基于螳螂搜索算法(Mantis Search Algorithm,MSA)的机器人路径规划(提供MA
        一、机器人路径规划介绍移动机器人(Mobilerobot,MR)的路径规划是移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人......
  • Django csrf跨站请求伪造,校验,CBV忽略与允许csrf校验
    csrf跨站请求伪造钓鱼网站,搭建一个网站与正规网站一模一样的界面,用户进入到我们的网站中,给指定用户转账,汇款确实提交到银行,但是收款人确实我们自己定义的人。本质在钓鱼网站的页面针对对方账户,只给用户提供一个没有name属性的普通input框,在内部则隐藏一个已经写好的name和value......
  • Django 中间件以及自定义中间件
    Django中间件Django中间件是Django的门户请求来的时候需要先经过中间件才能达到真正的Django后端响应走的时候最后也要经过中间件才能发送出去MIDDLEWARE=['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddle......
  • djangoCIA报价平台的设计与实现(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着信息技术的飞速发展,互联网已经深入到我们日常生活的方方面面。在众多的应用场景中,报价系统作为商业交易的重要环节,扮演着至关重要的角色。尤其是在CIA(Ce......
  • djangoAndroid共享停车位(源码+mysql+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着城市化进程的加速,汽车已成为人们日常生活中不可或缺的交通工具。然而,在许多城市中,由于停车位数量有限,停车难成为了一大问题。为了解决这一问题,共享停车......