[{"data":1,"prerenderedAt":258},["ShallowReactive",2],{"docs-doc-\u002Fdocs\u002Fguide\u002Fmodel-gen":3,"docs-live-paths":207},{"id":4,"title":5,"body":6,"description":194,"extension":195,"meta":196,"navigation":202,"path":203,"seo":204,"stem":205,"__hash__":206},"content\u002Fdocs\u002Fguide\u002Fmodel-gen.md","定义模型并生成页面",{"type":7,"value":8,"toc":178},"minimark",[9,13,22,25,30,33,37,40,62,68,72,79,88,92,99,105,109,122,126,129,132,138,144,154,157],[10,11,12],"h2",{"id":12},"本文说明什么",[14,15,16,17,21],"p",{},"本文完整走一遍「定义模型 → 生成页面 → 成为可用的真实系统」的路径。具体按钮名、菜单位置以实际实例界面为准——重点说明",[18,19,20],"strong",{},"每一步在确认什么","，避免在「影响真实数据」的环节出现误操作。",[10,23,24],{"id":24},"完整路径",[26,27,29],"h3",{"id":28},"第-1-步-新建模型","第 1 步 · 新建模型",[14,31,32],{},"进入模型的创建入口，命名模型（如「商品」「订单」）。平台通常要求给模型起内部标识（code）与对外名称，并选择它归属于哪个业务。",[26,34,36],{"id":35},"第-2-步-定义字段","第 2 步 · 定义字段",[14,38,39],{},"逐个添加字段，每个字段要回答三件事：",[41,42,43,50,56],"ol",{},[44,45,46,49],"li",{},[18,47,48],{},"名字与对外显示","：内部标识 + 界面显示名（中文）。",[44,51,52,55],{},[18,53,54],{},"类型","：文本 \u002F 数字 \u002F 日期 \u002F 下拉（枚举）\u002F 关联引用等。类型定错是后面返工的主因，先想清楚「这列到底存什么」。",[44,57,58,61],{},[18,59,60],{},"约束","：是否必填、是否有默认值、是否需要唯一、是否参与搜索。",[14,63,64,67],{},[18,65,66],{},"关联引用","是另一张表（例如订单引用客户）。建议在模型阶段就声明，后面做列表、详情时平台才能自动翻译成名称显示。",[26,69,71],{"id":70},"第-3-步-看建表预览ddl-preview","第 3 步 · 看建表预览（DDL Preview）",[14,73,74,75,78],{},"提交前，平台先生成一份",[18,76,77],{},"建表结构预览","——只读展示「如果正式创建，会生成什么样的数据表」。这一步不落库、完全可逆。",[80,81,82,85],"ul",{},[44,83,84],{},"逐字段核对：类型对吗？该有的列齐吗？",[44,86,87],{},"预览没通过\u002F不满意，直接返回修改，不影响任何东西。",[26,89,91],{"id":90},"第-4-步-发布真正的分界点","第 4 步 · 发布（真正的分界点）",[14,93,94,95,98],{},"确认无误后",[18,96,97],{},"发布","。发布 = 模型真正落库，它会直接变更数据库结构——涉及删除字段 \u002F 修改字段类型等破坏性变更时，请先在预览充分验证；正式发布需管理员权限并二次确认。",[100,101,102],"blockquote",{},[14,103,104],{},"⚠️ 要点：预览与发布是两回事。只有「发布」会真正改变系统结构，操作前务必先完成预览确认。\n⚠️ 破坏性变更：删除字段会把该字段的历史数据一并移除且不可恢复；正式环境执行删除类操作前，请先确认范围并做好备份。",[26,106,108],{"id":107},"第-5-步-页面随之而来","第 5 步 · 页面随之而来",[14,110,111,112,115,116,121],{},"发布后，该模型的",[18,113,114],{},"列表、查询、表单、详情","基本自动可用。回到",[117,118,120],"a",{"href":119},"\u002Fdocs\u002Fguide\u002Fcrud","配置一个通用管理列表","按业务调：列、搜索、操作按钮、必填校验。",[26,123,125],{"id":124},"第-6-步-校验闭环","第 6 步 · 校验闭环",[14,127,128],{},"造一条真实样例数据走一遍「新增 → 搜索 → 详情 → 编辑」，确认字段显示、校验、关联翻译都符合预期，再交付给业务使用。",[10,130,131],{"id":131},"常见疑问",[14,133,134,137],{},[18,135,136],{},"字段类型还能不能改？","\n越小越早的改动越容易；涉及数据迁移的大改动（换类型、拆列）成本高。所以「第 3 步预览」反复看，比发布后反复改划算。",[14,139,140,143],{},[18,141,142],{},"能直接从一张 Excel \u002F 现有表导入吗？","\n面向已有数据起步时，平台支持从外部结构引导建模型，避免把已有字段手工重敲一遍（具体以实例能力为准）。",[14,145,146,149,150,153],{},[18,147,148],{},"模型和视图一定要分开配吗？","\n发布后的默认视图足够常规使用；要做得更好用，再按",[117,151,152],{"href":119},"管理列表配置","细化。先跑通，再打磨。",[10,155,156],{"id":156},"相关阅读",[80,158,159,166,171],{},[44,160,161,162],{},"概念底子 → ",[117,163,165],{"href":164},"\u002Fdocs\u002Fconcepts\u002Fcore","动态数据模型 · 衍枢",[44,167,168,169],{},"模型好了配界面 → ",[117,170,120],{"href":119},[44,172,173,174],{},"想从模板起步跳过白屏 → ",[117,175,177],{"href":176},"\u002Fdocs\u002Fquickstart\u002Fclone-template","从模板克隆一个应用",{"title":179,"searchDepth":180,"depth":180,"links":181},"",2,[182,183,192,193],{"id":12,"depth":180,"text":12},{"id":24,"depth":180,"text":24,"children":184},[185,187,188,189,190,191],{"id":28,"depth":186,"text":29},3,{"id":35,"depth":186,"text":36},{"id":70,"depth":186,"text":71},{"id":90,"depth":186,"text":91},{"id":107,"depth":186,"text":108},{"id":124,"depth":186,"text":125},{"id":131,"depth":180,"text":131},{"id":156,"depth":180,"text":156},"从零到一套可用的系统页面——定义模型的完整路径：字段、类型、关联、DDL 预览、发布。","md",{"audience":197,"type":198,"section":199,"pr_order":180,"role":200,"duration":201},"public","guide","使用指南","实施搭建者","约 8 分钟",true,"\u002Fdocs\u002Fguide\u002Fmodel-gen",{"title":5,"description":194},"docs\u002Fguide\u002Fmodel-gen","7zVMn6pq1pBnfK6ZQtJ2dkq4GXXMBKIS1IM1fKa1GBo",[208,210,212,213,215,217,219,221,223,225,227,229,230,232,233,235,237,239,241,243,245,247,249,251,252,254,256],{"path":209},"\u002Fdocs\u002Fconcepts\u002Fai",{"path":211},"\u002Fdocs\u002Fconcepts\u002Fai-team",{"path":164},{"path":214},"\u002Fdocs\u002Fconcepts\u002Fflux",{"path":216},"\u002Fdocs\u002Fconcepts\u002Fmetrics",{"path":218},"\u002Fdocs\u002Fconcepts\u002Fview",{"path":220},"\u002Fdocs\u002Fdemo-center",{"path":222},"\u002Fdocs\u002Fdeploy\u002Foverview",{"path":224},"\u002Fdocs\u002Ffaq",{"path":226},"\u002Fdocs\u002Fglossary",{"path":228},"\u002Fdocs\u002Fguide\u002Fai-kb",{"path":119},{"path":231},"\u002Fdocs\u002Fguide\u002Fdb-connect",{"path":203},{"path":234},"\u002Fdocs\u002Fintro\u002Fframeworks",{"path":236},"\u002Fdocs\u002Fintro\u002Foverview",{"path":238},"\u002Fdocs\u002Fintro\u002Fvalue",{"path":240},"\u002Fdocs\u002Fintro\u002Fwhy",{"path":242},"\u002Fdocs\u002Fmechanism\u002Fai-employee-task",{"path":244},"\u002Fdocs\u002Fmechanism\u002Fdata-flux",{"path":246},"\u002Fdocs\u002Fmechanism\u002Fmetrics-contract",{"path":248},"\u002Fdocs\u002Fmechanism\u002Fpermission",{"path":250},"\u002Fdocs\u002Fmechanism\u002Fpublish",{"path":176},{"path":253},"\u002Fdocs\u002Fquickstart\u002Fdemo-30s",{"path":255},"\u002Fdocs\u002Fquickstart\u002Ffive-minutes",{"path":257},"\u002Fdocs\u002Fsystem\u002Foverview",1788586879704]