diff options
author | makefu <github@syntax-fehler.de> | 2019-08-20 08:20:53 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2019-08-20 08:20:53 +0200 |
commit | 20c9dba737113b683b3fe9fea18c5fe479407ada (patch) | |
tree | 8d6c9291ce0e2dfeb4091b9e3eaa94c7d0bee3f1 /yacos/lending/models.py |
Diffstat (limited to 'yacos/lending/models.py')
-rw-r--r-- | yacos/lending/models.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/yacos/lending/models.py b/yacos/lending/models.py new file mode 100644 index 0000000..ee1e402 --- /dev/null +++ b/yacos/lending/models.py @@ -0,0 +1,35 @@ +from django.db import models + +class Person(models.Model): + rfid = models.CharField(max_length=256) + name = models.CharField(max_length=140, unique=True) + created = models.DateTimeField(auto_now_add=True) + def __str__(self): + + return f"Person {self.name}" + +class Thing(models.Model): + rfid = models.CharField(max_length=256, unique=True) + name = models.CharField(max_length=140) + owner = models.ForeignKey(to=Person, + on_delete=models.PROTECT, related_name='owner', + null=True, blank=True) + description = models.TextField(max_length=9999, blank=True) + created = models.DateTimeField(auto_now_add=True) + lent = models.BooleanField(default=False) + image = models.ImageField() + + def __str__(self): + return f"Thing {self.name}" + +class Lending(models.Model): + purpose = models.CharField(max_length=1000, unique=True) + begin = models.DateTimeField(auto_now=True) + deadline = models.DateTimeField() + returned = models.DateTimeField(null=True, blank=True) # if returned is empty -> leding finished + lender = models.ForeignKey(to=Person, + on_delete=models.SET_NULL,related_name='borrows',null=True) + thing = models.ForeignKey(to=Thing, on_delete=models.CASCADE, + related_name='ilendings') + def __str__(self): + return f"Lending from {self.begin}, purpose: {self.purpose}, deadline: {self.deadline}" |