我正在寻找构建一个django应用程序,它以某种方式处理“类级”属性(通过抽象类?),如果没有明确定义项目特定的等效值,它们可以继承。
这是可以在Django模型中实现的吗?这显然是一个混乱的黑客,但我认为我可以“硬编码”项目类中的角色率,并在两者之间使用max()
:
class Project(models.Model):
name=models.CharField(max_length=30)
rate_role1=100
rate_role2=120
class hourly_rates(models.Model):
project=models.OneToOneField(
Project,
on_delete=models.CASCADE,
primary_key=True,
)
role= models.CharField(max_length=20)
rate= models.DecimalField(max_digits=8, decimal_places=2)
总之,我想要实现的功能是:
创建新的project
实例时,每小时费率变量是可选的。如果没有提供,那么当使用小时费率值来计算成本时,他们会参考“全球”小时费率。相反,如果新项目定义了小时费率(或某些小时费率),那么这些费用应优先用于全球费率。