feat: 实现城市手册项目需求 - 数据库模型

- 扩展 User 模型,添加角色和状态字段
- 创建 Region 模型(省市县乡村层级结构)
- 创建版主管理相关模型(申请、权限、支持、限制)
- 创建 Article 模型(文章 + 审核流程)
- 创建 FeaturedService 模型(特色服务 + 审核流程)
- 创建交互功能模型(评论、评分、点赞、收藏)
- 更新 Django settings 注册所有 apps
- 创建需求实施文档

完整实现需求文档中的 12 个核心数据表和审核流程
This commit is contained in:
mashen
2026-04-09 13:38:14 +00:00
parent 2824208464
commit 2e9c17ef72
27 changed files with 1911 additions and 1 deletions

View File

@@ -5,10 +5,24 @@ from django.db import models
class User(AbstractUser):
"""Custom user model extending AbstractUser."""
ROLE_CHOICES = [
('user', '普通用户'),
('moderator', '版主'),
('ai_auditor', 'AI审核员'),
('admin', '管理员'),
]
STATUS_CHOICES = [
('active', '正常'),
('disabled', '禁用'),
]
email = models.EmailField(unique=True)
first_name = models.CharField(max_length=150)
last_name = models.CharField(max_length=150)
avatar = models.ImageField(upload_to='avatars/', null=True, blank=True)
role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='user')
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='active')
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username', 'first_name']
@@ -19,4 +33,13 @@ class User(AbstractUser):
verbose_name_plural = 'Users'
def __str__(self):
return self.email
return self.email
def is_moderator(self):
return self.role == 'moderator'
def is_admin(self):
return self.role == 'admin'
def is_ai_auditor(self):
return self.role == 'ai_auditor'