25 lines
865 B
Python
25 lines
865 B
Python
from django.db import models
|
|
from core.models.base import BaseModel
|
|
from core.models.account import Account
|
|
|
|
|
|
class Revenue(BaseModel):
|
|
"""Revenue records for accounts"""
|
|
account = models.ForeignKey(Account, on_delete=models.PROTECT, related_name='revenues')
|
|
amount = models.DecimalField(max_digits=10, decimal_places=2)
|
|
start_date = models.DateField()
|
|
end_date = models.DateField(blank=True, null=True)
|
|
wave_service_id = models.CharField(max_length=255, blank=True, null=True,
|
|
help_text="Wave service ID")
|
|
|
|
class Meta:
|
|
ordering = ['-start_date']
|
|
indexes = [
|
|
models.Index(fields=['account', 'start_date']),
|
|
]
|
|
verbose_name = "Revenue"
|
|
verbose_name_plural = "Revenues"
|
|
|
|
def __str__(self):
|
|
return f"{self.account.name} - ${self.amount}"
|