from django.db import models class ProjectResource(models.Model): resource_id = models.AutoField(primary_key=True, verbose_name='项目资源ID') name = models.CharField(max_length=255, verbose_name='姓名') unit = models.CharField(max_length=255, verbose_name='单位') position = models.CharField(max_length=255, verbose_name='职务') contact_phone = models.CharField(max_length=20, verbose_name='联系电话') contact_address = models.CharField(max_length=255, verbose_name='联系地址') resource_manager = models.IntegerField(verbose_name='资源维护人') # 假设你有一个人员基本信息表 class Meta: verbose_name = '项目资源' verbose_name_plural = '项目资源表' def __str__(self): return f"{self.resource_id} - {self.name}" class ProjectResourceGift(models.Model): resource_id = models.ForeignKey('ProjectResource', on_delete=models.CASCADE, verbose_name='项目资源ID') gift_date = models.DateField(verbose_name='送礼日期') giver = models.ForeignKey('Person', on_delete=models.CASCADE, verbose_name='送礼人') # 假设你有一个 Person 模型 gift_description = models.TextField(verbose_name='送礼说明') class Meta: verbose_name = '项目资源送礼' verbose_name_plural = '项目资源送礼表' def __str__(self): return f"{self.resource_id} - {self.gift_date}" class ProjectResourceMaintenance(models.Model): resource_id = models.ForeignKey(ProjectResource, on_delete=models.CASCADE, verbose_name='项目资源ID') project_id = models.ForeignKey(Project, on_delete=models.CASCADE, verbose_name='项目ID') settled_income = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='已落地收入') estimated_pending_income = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='未落地预估收入') class Meta: verbose_name = '项目资源维护' verbose_name_plural = '项目资源维护表' def __str__(self): return f"{self.resource_id} - {self.project_id}" class Customer(models.Model): RELATIONSHIP_TYPE_CHOICES = ( ('资源方', '资源方'), ('客户', '客户'), ) COOPERATION_CHOICES = ( ('是', '是'), ('否', '否'), ) customer_id = models.AutoField(primary_key=True, verbose_name='客户ID') relationship_type = models.CharField(max_length=10, choices=RELATIONSHIP_TYPE_CHOICES, verbose_name='关系类型') detailed_description = models.CharField(max_length=255, verbose_name='详细说明') name = models.CharField(max_length=255, verbose_name='姓名') unit = models.CharField(max_length=255, verbose_name='单位') position = models.CharField(max_length=255, verbose_name='职务') residence = models.CharField(max_length=255, verbose_name='常住地') cooperation = models.CharField(max_length=2, choices=COOPERATION_CHOICES, verbose_name='是否合作') main_organizer = models.ForeignKey(Person, related_name='main_customers', on_delete=models.CASCADE, verbose_name='主办人') assistant = models.ForeignKey(Person, related_name='assistant_customers', on_delete=models.CASCADE, verbose_name='辅助人') class Meta: verbose_name = '客户' verbose_name_plural = '客户表' def __str__(self): return self.name