登录
首页 >  Golang >  Go问答

如何在 GORM/Golang 中实现类似 Django field.choices 的模型字段类型

来源:stackoverflow

时间:2024-02-19 13:54:29 220浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《如何在 GORM/Golang 中实现类似 Django field.choices 的模型字段类型》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在尝试创建一个结构字段,并将其值限制为值列表,即

state =["locked", "unlocked"]

现在在 django 模型中我们使用字段选择,即

class Book(models.Model):
    LOCKED = 'LK'
    UNLOCKED = 'UN'
    STATE = [
    ('LK', 'Locked'),
    ('UL', 'Unlocked'),
]
    book_state = models.CharField(choices=STATE, default=LOCKED)

尝试在 go 中使用 gorm.model 结构数据类型复制上述内容。


正确答案


解决方案:使用字符串创建自定义 golang 类型并将其添加为 gorm 模型字段

type  bookstate string

const  (
    locked  bookstate = "locked"
    unlocked bookstate = "unlocked" 
)

然后创建您的 gorm 结构模型字段

type Book struct {
    Name  string `json:"name" validate:"required"`
    State BookState `json:"state" validate: "required"` 
    ....
}

今天关于《如何在 GORM/Golang 中实现类似 Django field.choices 的模型字段类型》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>