family_tree目录结构:
family_tree/ # 项目根目录 ├── app/ # 主应用包 │ ├── __init__.py # 应用包初始化文件 │ ├── models/ # 数据模型层 │ │ ├── __init__.py # 模型包初始化,导出所有模型 │ │ ├── base.py # 基础模型类,数据库连接配置 │ │ ├── person.py # 人员数据模型 │ │ └── relationship.py # 关系数据模型 │ ├── services/ # 业务逻辑层 │ │ ├── __init__.py # 服务包初始化 │ │ ├── database.py # 数据库连接和会话管理 │ │ ├── person_service.py # 人员相关业务逻辑 │ │ └── relationship_service.py # 关系相关业务逻辑 │ ├── api/ # API接口层(可选,用于Web服务) │ │ ├── __init__.py # API包初始化 │ │ ├── endpoints/ # API端点路由 │ │ │ ├── __init__.py # 端点包初始化 │ │ │ ├── persons.py # 人员相关API端点 │ │ │ └── relationships.py # 关系相关API端点 │ │ └── dependencies.py # API依赖注入 │ └── core/ # 核心配置和工具 │ ├── __init__.py # 核心包初始化 │ └── config.py # 应用配置文件 ├── migrations/ # 数据库迁移目录(使用Alembic) │ ├── versions/ # 迁移版本文件存放目录 │ └── env.py # 迁移环境配置 ├── tests/ # 测试目录 │ ├── __init__.py # 测试包初始化 │ ├── test_models/ # 模型测试 │ │ ├── __init__.py │ │ ├── test_person.py # 人员模型测试 │ │ └── test_relationship.py # 关系模型测试 │ ├── test_services/ # 服务层测试 │ │ ├── __init__.py │ │ ├── test_person_service.py │ │ └── test_relationship_service.py │ └── test_api/ # API测试(如果使用Web服务) │ ├── __init__.py │ ├── test_persons_api.py │ └── test_relationships_api.py ├── scripts/ # 实用脚本目录 │ ├── init_db.py # 数据库初始化脚本 │ └── seed_data.py # 测试数据填充脚本 ├── requirements.txt # Python依赖包列表 ├── config.py # 项目主配置文件 ├── .env # 环境变量文件(不提交到版本控制) └── main.py # 应用主入口文件
各目录详细说明:
📁 app/ - 主应用代码
models/ - 数据模型定义,对应数据库表结构
services/ - 业务逻辑处理,数据库操作封装
api/ - Web API接口(如果项目需要提供HTTP服务)
core/ - 核心配置和通用工具
📁 migrations/ - 数据库迁移
使用Alembic管理数据库版本变更
每次数据库结构修改都应生成迁移脚本
📁 tests/ - 测试代码
按照功能模块组织测试用例
保持与主代码相同的目录结构
📁 scripts/ - 实用脚本
数据库初始化、数据填充等运维脚本
📄 根目录文件
requirements.txt- 项目依赖包清单config.py- 应用配置(数据库连接等).env- 敏感信息配置(数据库密码等)main.py- 程序启动入口