gpt4 book ai didi

go - beego 模型已注册但未找到

转载 作者:IT王子 更新时间:2023-10-29 02:32:44 24 4
gpt4 key购买 nike

我正在尝试编写我的第一个 beego 网络应用程序,我正在尝试注册一些模型,我在 models/model.go 中注册了它们的 init()函数,但是当我运行命令时 bee run ,我收到以下错误: no Model found, need register your model

ma​​in.go:

package main
import (
"fmt"
_ "test_blog/routers"
"time"

_ "github.com/lib/pq"

"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)

func init() {
orm.RegisterDriver("postgres", orm.DRPostgres)

maxIdle := 30
maxConn := 30
orm.RegisterDataBase(
"default",
"postgres",
"postgres://user:password@localhost/test_db", maxIdle, maxConn
)

orm.DefaultTimeLoc = time.UTC
}

func main() {
// Database alias.
name := "default"

// Drop table and re-create.
force := false

// Print log.
verbose := false

// Error.
err := orm.RunSyncdb(name, force, verbose)
if err != nil {
fmt.Println(err)
}

beego.Run()
}

注意:force & verbose两者都设置为 true运行前bee run第一次。

models.go:

package main

import "github.com/astaxie/beego/orm"

type User struct {
Name string
Posts []*Post `orm:"reverse(many)"`
}

type Post struct {
Title string `orm:"size(50)"`
Text string `orm:"size(4000)"`
Created time.Time `orm:"auto_now_add;type(datetime)"`
Updated time.Time `orm:"auto_now;type(datetime)"`
Author *User `orm:"rel(fk)"`
}

func init() {
orm.RegisterModel(new(User), new(Post))
}

最佳答案

试试这个:

  1. 在 models.go 中,将 package main 更改为 package models
  2. 在 main.go 中,添加 import _ "test_blog/models"

关于go - beego 模型已注册但未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42637163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com