Stonks/overview/models.py

30 lines
903 B
Python

from django.db import models
# Create your models here.
class Account(models.Model):
name = models.TextField(max_length=1024)
number = models.TextField(max_length=1024)
balance = models.IntegerField()
class Asset(models.Model):
ticker = models.TextField(max_length=20)
price = models.FloatField()
class AccountHolding(models.Model):
account = models.ForeignKey(Account, on_delete=models.CASCADE)
asset = models.ForeignKey(Asset, on_delete=models.CASCADE)
ticker = models.TextField(max_length=20)
ammount = models.FloatField()
cost_basis = models.FloatField()
purchase_date = models.DateTimeField()
def holding_value(self):
return self.ammount * self.asset.price
def holding_principle(self):
return self.ammount * self.cost_basis
def holding_gain(self):
return self.holding_value() - self.holding_principle()