diff --git a/schema/field.go b/schema/field.go index fd8b2e6a..91c487cb 100644 --- a/schema/field.go +++ b/schema/field.go @@ -528,6 +528,9 @@ func (field *Field) setupValuerAndSetter() { reflectValType := reflectV.Type() if reflectValType.AssignableTo(field.FieldType) { + if reflectV.Kind() == reflect.Pointer && reflectV.Elem().Kind() == reflect.Pointer { + reflectV = reflect.Indirect(reflectV) + } field.ReflectValueOf(ctx, value).Set(reflectV) return } else if reflectValType.ConvertibleTo(field.FieldType) {