from django.db import models class DepartmentExpenseData(models.Model): primary_department = models.CharField(max_length=255, verbose_name="一级部门", help_text="用于筛选、区分一级部门") year_month = models.CharField(max_length=7, verbose_name="年月", help_text="格式为'YYYY-MM',表示统计数据的年月") expense_type = models.CharField(max_length=255, verbose_name="费用类型", help_text="费用的分类,如营销、行政等") expense_detail = models.CharField(max_length=255, verbose_name="费用明细", help_text="费用的具体明细项,如办公耗材、差旅费等") budget_limit = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="费用限额", help_text="按年度预算设定的费用限额,以万元为单位") reimbursed_amount = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="已报销额度", help_text="当年已报销的金额总额,以万元为单位") available_budget = models.DecimalField(max_digits=15, decimal_places=2, verbose_name="可用额度", help_text="年度费用限额减去已报销额度,以万元为单位") class Meta: verbose_name = "各部门费用情况" verbose_name_plural = "各部门费用情况" # 添加模型注释 db_table_comment = '存储各部门费用情况数据,包括一级部门、年月、费用类型、费用明细、费用限额、已报销额度和可用额度等' def __str__(self): return f"Expense Data for {self.primary_department} in {self.year_month}" @staticmethod def get_field_labels(): return { 'primary_department': '一级部门', 'year_month': '年月', 'expense_type': '费用类型', 'expense_detail': '费用明细', 'budget_limit': '费用限额', 'reimbursed_amount': '已报销额度', 'available_budget': '可用额度', } def get_field_label(self, field_name): field_labels = self.get_field_labels() return field_labels.get(field_name, field_name)