2
votes

How can I omit the columns that come from the gorm.Model. E.g. CreatedDate, modifiedDate.

Consider the following model:

type User struct{
    gorm.Model
    Firstname string
    Lastname string
}

Now I can select specific column with:

db.Select("Firstname").Find(&users)

However, while it excludes the Lastname column, it does not exclude the columns that come from the gorm.Model. So the result would look something like:

[{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"Firstname":"Foobar"}]

I want only the Firstname column.

1

1 Answers

3
votes

You can define your User type without including gorm.Model struct

type User struct{
    Firstname string
    Lastname string
}

Alternatively, you can use two types, one with gorm.Model and the second without it. You can use the latter when retrieving values without gorm.Model properties.