【发布时间】:2021-01-25 05:25:48
【问题描述】:
我想像这样在 GORM 中定义一个新类型:
type Device struct{
gorm.Model
Name string
Status Status
}
Status 的值只能是ok、broken 或missing 之一。显然,我可以为此使用类型字符串,但随后我将允许所有可能的字符串。如何将选项限制为我想要的选项?
【问题讨论】:
-
您是否查看了自定义数据类型的文档? gorm.io/docs/data_types.html
-
@Eklavya 是的,我检查了它们。哪个部门应该处理我的案件?我没看到。
-
如果您使用的是 postgres,您应该创建一个枚举类型并使用它,我相信您也可以在
gorm标记中指定该字段的相关列属于该枚举类型。就 Go 而言,没有枚举类型,你不能强制,至少不能完全,一个字段的值,例如,即使Status声明为字段一的类型仍然可以使用 untyped 常量为不在声明的Status常量集中的字段分配值。