to_inventory/back/inventory/models.py

47 lines
1.4 KiB
Python

from django.db import models
class Partner(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
external_id = models.CharField()
def __str__(self):
return f"Partner {self.id}"
class Author(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
telegram_id = models.CharField(max_length=50)
def str(self):
return f"Author {self.id} - {self.name}"
class InventoryItem(models.Model):
id = models.AutoField(primary_key=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
name = models.CharField(max_length=255)
author = models.ForeignKey(Author, on_delete=models.CASCADE, null=True)
partner = models.ForeignKey(
Partner, related_name="Inventory", on_delete=models.CASCADE
)
class Element(models.Model):
id = models.AutoField(primary_key=True)
external_id = models.CharField()
element_id = models.CharField(max_length=100)
photo = models.ImageField(upload_to=".", null=True)
additional_text = models.TextField(null=True, blank=True, default="")
created_at = models.DateTimeField(auto_now_add=True)
inventory = models.ForeignKey(
InventoryItem, related_name="Element", on_delete=models.CASCADE
)
def __str__(self):
return f"Element {self.id} (Inventory {self.inventory.id})"