Cześć,
piszę aplikację do zarządzania inwentarzem w Django. Utworzyłem modele "Location" oraz "ResourceDefinition" z prostymi polami tekstowymi (nazwa, opis itp...). Zamysł jest taki, aby każdy zasób (definiowany jednorazowo) można było w różnej ilości przypisać do różnych lokacji (coś podobnego jak jest w magazynach Amazona, ale prostszego ;) ).
Przykład:
Istnieją definicje zasobów Zasób1 i Zasób2 oraz lokacje LokA i LokB
W LokA znajduje się Zasób1 w ilości 100, i Zasób2 w ilości 5.
W LokB znajduje się Zasób1 w ilości 50 i żadnego Zasób2.
Łącznie istnieje 150 szt. Zasób1 i 5 szt. Zasób2.
W Laraverze po prostu tworzyłem taką tabelę:
id (int) |
location_id (int) |
resource_id (int) |
quantity (double) |
W Django dopiero zaczynam się bawić i nie za bardzo wiem jak mogę osiągnąć takie coś.
Dodam że w późniejszym etapie projektu będę potrzebował utworzyć więcej atrybutów do każdego powiązania.
Proszę o wskazówkę co najlepiej z takim czymś zrobić ;).
Dzięki.
class Location(models.Model):
name = models.CharField(max_length=255)
description = models.TextField(null=True, blank=True)
parent = models.ForeignKey("self", related_name="childrens", on_delete=models.CASCADE, null=True, blank=True)
date_created = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ('date_created',)
def __str__(self):
return self.name
class ResourceDefinition(models.Model):
name = models.CharField(max_length=255)
description = models.TextField(null=True, blank=True)
date_created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name