从Golang中的云数据存储中读取扁平化的实体

func (db *dataStore) AddAcceptance(ctx context.Context, req *acceptance.PolicyAcceptance) (uint64, error) {

accpKey := datastore.IncompleteKey("Acceptance", nil)

key, err := db.Put(context.Background(), accpKey, req);
if  err != nil {
    log.Fatalf("Failed to save Acceptance: %v", err)
}
accpKey = key
val := uint64(accpKey.ID)
return val, err
}



type PolicyAcceptance struct {
Id           string                     `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
PolicyNumber int64                      `protobuf:"varint,2,opt,name=policyNumber" json:"policyNumber,omitempty"`
Version      string                     `protobuf:"bytes,3,opt,name=version" json:"version,omitempty"`
SignerData   *SignerData                `protobuf:"bytes,4,opt,name=signerData" json:"signerData,omitempty" datastore:",flatten"`
GroupID      int64                      `protobuf:"varint,5,opt,name=groupID" json:"groupID,omitempty"`
LocationID   int64                      `protobuf:"varint,6,opt,name=locationID" json:"locationID,omitempty"`
BusinessId   int64                      `protobuf:"varint,7,opt,name=businessId" json:"businessId,omitempty"`
AcceptedDate *google_protobuf.Timestamp `protobuf:"bytes,8,opt,name=acceptedDate" json:"acceptedDate,omitempty" datastore:",flatten"`
IssuerName   string                     `protobuf:"bytes,9,opt,name=issuerName" json:"issuerName,omitempty"`
Place        string                     `protobuf:"bytes,10,opt,name=place" json:"place,omitempty"`
}
type SignerData struct {
Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
Email string `protobuf:"bytes,2,opt,name=email" json:"email,omitempty"`
Type  string `protobuf:"bytes,3,opt,name=type" json:"type,omitempty"`
Id    int64  `protobuf:"varint,4,opt,name=id" json:"id,omitempty"`
}

datastore:",flatten" saves data as flattened in data store. The property names becomes flattened with . like SignerData.Id as property name but when it's read from data store, how can I map it back to struct? It fails throwing an error like:

SignerData.Id could not be found as a key in struct. Error: No such struct field.

func (db *dataStore) GetAcceptanceBySignerData(ctx context.Context, req *acceptance.SignerData) (*acceptance.ListOfPolicyAcceptance, error) {
query := datastore.NewQuery("Acceptance").Filter("SignerData.Id =", req.Id)
var accpArr acceptance.ListOfPolicyAcceptance
var err error
it := db.Run(ctx, query)
for {
    var accept acceptance.PolicyAcceptance

    _, err := it.Next(&accept)
    if err == iterator.Done {
        break
    }
    if err != nil {
        log.Fatalf("Error fetching : %v", err)
    }
    accpArr.AcceptanceList = append(accpArr.AcceptanceList, &accept)
}
return &accpArr, err
}