1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/loot/models.py

29 lines
1.1 KiB
Python
Raw Normal View History

2021-08-22 20:10:29 +02:00
from django.db import models
from django.utils.translation import gettext_lazy as _
2021-08-22 20:10:29 +02:00
2021-08-29 22:09:22 +02:00
from characters.models import Character
2021-09-15 16:51:43 +02:00
from common.models import DescriptionModel, HistoryModel
2021-09-06 20:34:43 +02:00
from locations.models import Location
2021-08-22 20:10:29 +02:00
2021-09-15 16:51:43 +02:00
class Loot(DescriptionModel, HistoryModel):
name = models.CharField(_("Name"), max_length=1000)
quantity = models.PositiveSmallIntegerField(_("Quantity"))
value_gold = models.DecimalField(_("Value (Gold)"), max_digits=7, decimal_places=2)
weight = models.FloatField(_("Weight (lb)"), null=True, blank=True)
owner = models.ForeignKey(Character, on_delete=models.PROTECT, blank=True, null=True, verbose_name=_("Claimant"))
location = models.ForeignKey(Location, on_delete=models.PROTECT, blank=True, null=True, verbose_name=_("Location"))
magic_item = models.BooleanField(_("Magic Item"), default=False)
2021-08-22 20:10:29 +02:00
2021-08-28 19:52:07 +02:00
class Meta:
ordering = ["name"]
verbose_name = _("Loot")
verbose_name_plural = _("Loot")
2021-08-28 19:52:07 +02:00
2021-08-22 20:10:29 +02:00
@property
def value_per_unit(self):
return self.value_gold / self.quantity
def __str__(self):
return self.name