from django.db.models import Model, ForeignKey, CASCADE, PositiveIntegerField, TextField, DecimalField, BooleanField, DateField, SET_NULL, PROTECT from core.fields.base import LongCharField from core.models.services import Service from core.models.profiles import ClientProfile from core.models.local import Currency class Invoice(Model): client = ForeignKey(ClientProfile, on_delete=CASCADE) number = LongCharField() created = DateField() due = DateField() payment_method = LongCharField() currency = ForeignKey(Currency, on_delete=PROTECT) class InvoiceItem(Model): invoice = ForeignKey(Invoice, on_delete=CASCADE) sort = PositiveIntegerField() name = LongCharField() description = TextField(blank=True, null=True) price = DecimalField(max_digits=32, decimal_places=2) discount = DecimalField(max_digits=32, decimal_places=2) taxable = BooleanField() service = ForeignKey(Service, on_delete=SET_NULL, null=True)