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}"