Gorm预加载时如何制定关联关系表中某个字段的值

结构体代码如下:

type UpgradeTask struct {
    Id          int      `json:"id" gorm:"primaryKey"`
    PreScripts  []Script `json:"pre_scripts" gorm:"many2many:yb_task_script_relation;ForeignKey:id;JoinForeignKey:task_id;References:id;JoinReferences:script_id;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
    PostScripts []Script `json:"post_scripts" gorm:"many2many:yb_task_script_relation;ForeignKey:id;JoinForeignKey:task_id;References:id;JoinReferences:script_id;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"`
}

type Script struct {
    Id         int    `json:"id" gorm:"primaryKey"`
    ScriptName string `json:"script_name"`
}

type TaskScript struct {
    Id         int `json:"-" gorm:"id;primaryKey"`
    TaskId     int `json:"task_id"`
    ScriptId   int `json:"script_id"`
    ScriptType int `json:"script_type"`
}

在 UpgradeTask 表中存在 PreScripts 和 PostScripts 字段信息,其中 PreScripts 为关联关系表 TaskScript 表中 ScriptType 为 1 的 Script 数据信息,PostScripts 为关联关系表 TaskScript 表中 ScriptType 为 2 的 Script 数据信息,在查询 UpgradeTask 时需同时查询出该记录所对应的 PreScripts 和 PostScripts 信息,该怎么写代码?