diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 5cdee4eb9..11a139036 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -1514,7 +1514,7 @@ func renderAttributeView(attrView *av.AttributeView, blockID, viewID, query stri if isGroupByDate(view) { updatedDate := time.UnixMilli(view.GroupUpdated).Format("2006-01-02") if time.Now().Format("2006-01-02") != updatedDate { - genAttrViewViewGroups(view, attrView) + regenAttrViewViewGroups(attrView, "force") av.SaveAttributeView(attrView) } @@ -4562,8 +4562,10 @@ func regenAttrViewViewGroups(attrView *av.AttributeView, keyID string) { continue } - if av.KeyTypeTemplate != groupKey.Type && view.Group.Field != keyID { - continue + if "force" != keyID { + if av.KeyTypeTemplate != groupKey.Type && view.Group.Field != keyID { + continue + } } genAttrViewViewGroups(view, attrView) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 6d53042d3..a9a0aff78 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1539,6 +1539,12 @@ func upsertAvBlockRel(node *ast.Node) { affectedAvIDs = append(affectedAvIDs, relatedAvIDs...) affectedAvIDs = gulu.Str.RemoveDuplicatedElem(affectedAvIDs) for _, avID := range affectedAvIDs { + attrView, _ := av.ParseAttributeView(avID) + if nil != attrView { + regenAttrViewViewGroups(attrView, "force") + av.SaveAttributeView(attrView) + } + ReloadAttrView(avID) } }()