多对多:保存和更新单个结构不起作用

I'm trying to work with postgresql and gorm but I'm encountering the following problem. I have two structs (Tenantx,Userx) with a many2many relationship (this works) plus a field in each one (TenantAdmin,DefaultTenant) which relates to the other struct. Saving and Updating works with all fields except for TenantAdmin and DefaultTenant. When I save a Tenantx object, the TenantAdmin field won't be saved, and updating it won't work (see Output). There are no errors thrown. I would like to know what am I doing wrong here.

Thanks in advance.

package models

type Tenantx struct {
    ID          uint   `gorm:"primary_key"`
    Name        string `gorm:"not null;unique"`
    TenantAdmin Userx
    Users       []Userx `gorm:"many2many:tenantx_userx;"`
}

type Userx struct {
    ID            uint       `gorm:"primary_key"`
    Username      string     `gorm:"not null;unique"`
    DefaultTenant *Tenantx   
    Tenants       *[]Tenantx `gorm:"many2many:tenantx_userx;"`
}

main.go

func main() {
    var err error
    repo.DB, err = gorm.Open("postgres", "host=xxx user=xxx dbname=xxx sslmode=disable password=xxx")
    if err != nil {
        panic("failed to connect database")
    }
    defer repo.DB.Close()

    repo.DB.CreateTable(&models.Tenantx{}, &models.Userx{})

    tenant1 := models.Tenantx{
        Name:        "newtenant",
        TenantAdmin: models.Userx{Username: "usertest"}, //--> Doesn't work
    }

    user1 := models.Userx{Username: "user1"}
    user2 := models.Userx{Username: "user2"}
    repo.DB.Save(&tenant1)

    //Update
    repo.DB.Model(&tenant1).Association("Users").Append([]*models.Userx{&user1})
    repo.DB.Model(&tenant1).Association("Users").Append([]*models.Userx{&user2})
    repo.DB.Model(&tenant1).Association("TenantAdmin").Append(user1) //<--Doesn't work

    //Search and Print
    var gettenant models.Tenantx
    var getuser []models.Userx
    repo.DB.First(&gettenant, "name = ?", "newtenant")
    fmt.Println(gettenant)
    repo.DB.Model(&gettenant).Related(&getuser, "Users")
    gettenant.Users = getuser
    fmt.Println("1 --> ", gettenant)
}

Output

1 -->  {1 newtenant {0  <nil> <nil>} [{1 user1 <nil> <nil>} {2 user2 <nil> <nil>}]}