{"record":{"id":"a4956a8e1e8cabc5","repo":"siyuan-note/siyuan","slug":"attribute-view-s-is-not-a-table","errorCode":null,"errorMessage":"attribute view [%s] is not a table","messagePattern":"attribute view \\[(.+?)\\] is not a table","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"kernel/model/attribute_view_render.go","lineNumber":282,"sourceCode":"}\n\nfunc RenderAttributeView(blockID, avID, viewID, query string, page, pageSize int, groupPaging map[string]any, createIfNotExist, ignoreRows bool) (viewable av.Viewable, attrView *av.AttributeView, err error) {\n\tviewable, attrView, _, err = RenderAttributeViewWithTarget(blockID, avID, viewID, query, page, pageSize, groupPaging, \"\", createIfNotExist, ignoreRows, \"\", \"\")\n\treturn\n}\n\n// GetAttributeViewPasteRows 返回当前表格视图中从指定条目开始的连续行和可安全推断类型的空字段，供粘贴扩充行列。\nfunc GetAttributeViewPasteRows(blockID, avID, viewID, groupID, query, startItemID string, count int) (\n\ttable *av.Table, inferableKeyIDs []string, err error,\n) {\n\tviewable, attrView, err := RenderAttributeView(blockID, avID, viewID, query, 1, math.MaxInt, nil, false, false)\n\tif nil != err {\n\t\treturn nil, nil, err\n\t}\n\n\ttable, ok := viewable.(*av.Table)\n\tif !ok {\n\t\treturn nil, nil, fmt.Errorf(\"attribute view [%s] is not a table\", avID)\n\t}\n\tif \"\" != groupID {\n\t\tvar groupTable *av.Table\n\t\tfor _, group := range table.Groups {\n\t\t\tif group.GetID() == groupID {\n\t\t\t\tgroupTable, _ = group.(*av.Table)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif nil == groupTable {\n\t\t\treturn nil, nil, fmt.Errorf(\"attribute view group [%s] not found\", groupID)\n\t\t}\n\t\ttable = groupTable\n\t}\n\n\trows, err := getAttributeViewPasteRowsFromTable(table, startItemID, count)\n\tif nil != err {\n\t\treturn nil, nil, err","sourceCodeStart":264,"sourceCodeEnd":300,"githubUrl":"https://github.com/siyuan-note/siyuan/blob/251596fc0de2f9528c00c224252fd073a99973f4/kernel/model/attribute_view_render.go#L264-L300","documentation":"Error \"attribute view [%s] is not a table\" thrown in siyuan-note/siyuan.","triggerScenarios":"A table-specific operation (such as pasting rows) is invoked on a kanban or gallery attribute view.","commonSituations":"Occurs when a table-only operation (row paste, group query) is issued against an attribute view whose current layout is kanban or gallery.","solutions":["Run this operation only on attribute views using the table layout.","Switch the view layout to table before retrying, or use the API appropriate for kanban/gallery layouts."],"exampleFix":"In the database view menu, change the layout to Table, then repeat the paste/row operation.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"251596fc0de2f9528c00c224252fd073a99973f4","analyzedAt":"2026-08-12T21:18:37.123Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}