如何在gorm中插入空外键?

nin*_*alt 13 postgresql go go-gorm

我在 gorm 中有一个事务表,如下所示:

type Transaction struct {
    gorm.Model
    UserID      string `gorm:"index"`
    TradeID     int 
    Trade       Trade
    ExternalID  string
    Amount      float32
    Type        string
    Description string
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试插入一笔没有交易的交易:

DB.Create(&Transaction{UserID: "user-1", Type: "unblock", Amount:  50})
Run Code Online (Sandbox Code Playgroud)

这会失败,因为事务结构将键的 int 值默认为 0,因此插入在数据库级别失败,因为我没有 id = 0 的交易。

我怎样才能做到这一点?

fon*_*ini 17

您可以将 更改TradeID为指针,因此默认值为nil

TradeID     *int 
Run Code Online (Sandbox Code Playgroud)