2017-08-11 53 views
0

我有我认为是一个简单的问题。我正在设计一个数据库,我对此有疑问。Django数据库设计 - 使用属性或方法

这是模型

class DailyCash(models.Model): 
    # Relations 
    # Attributes - Mandatory 
    initial_cash = models.DecimalField(
     max_digits=10, 
     decimal_places=2, 
     verbose_name=_('initial cash'), 
    ) 
    daily_incomes = models.DecimalField(
     max_digits=10, 
     decimal_places=2, 
     verbose_name=_('daily incomes'), 
    ) 
    daily_expenses = models.DecimalField(
     max_digits=10, 
     decimal_places=2, 
     verbose_name=_('daily expenses'), 
    ) 
    next_initial_cash = models.DecimalField(
     max_digits=10, 
     decimal_places=2, 
     verbose_name=_('next initial cash'), 
    ) 
    # Attributes - Optional 
    # Object Manager 
    objects = managers.DailyCashManager() 
    # Custom Properties 
    # Methods 

    # Meta and String 
    class Meta: 
     verbose_name = _("Daily Cash") 
     verbose_name_plural = _("Daily Cash") 
     ordering = ('id') 

    def __str__(self): 
     pass 

好吧,我dobut是我需要计算每日的平衡,但我不知道,如果是更好的使用属性为这个值或使用性质是什么最快的当每日现金超过3年或者其他类似的事情来使用每月余额或年度或我需要的时候,将来使用什么,未来什么更好。

使用字段daily_balance并存储在数据库中的值,或每个需要它的

这样

@property 
def daily_balance(self): 
    return self.initial_cash + self.daily_incomes - self.daily_expenses - self.next_initial_cash 

好时间计算此值,这就是我的怀疑使用属性(法)或商店值直接在数据库中。

谢谢!

回答