from django.db import models # Create your models here. from translatable_fields.models import TranslatableField class Species(models.Model): name = TranslatableField() scientific_name = models.CharField(max_length=255) genera = models.CharField(max_length=255) familia = models.CharField(max_length=255) ordo = models.CharField(max_length=255) classis = models.CharField(max_length=255) class Ingredient(models.Model): name = TranslatableField() description = TranslatableField() image = models.ImageField(null=True) class Substrate(models.Model): name = TranslatableField() class IngredientInSubstrate(models.Model): amount = models.FloatField() substrate = models.ForeignKey(Substrate, on_delete=models.CASCADE) ingredient = models.ForeignKey(Ingredient, on_delete=models.CASCADE) class Step(models.Model): name = TranslatableField() description = TranslatableField() class CultureType(models.Model): name = TranslatableField() description = TranslatableField() image = models.ImageField(null=True) class Culture(models.Model): substrate = models.ForeignKey(Substrate, null=True, on_delete=models.SET_NULL) species = models.ForeignKey(Species, null=True, on_delete=models.SET_NULL) culture_type = models.ForeignKey(CultureType, null=True, on_delete=models.SET_NULL) steps = models.ManyToManyField( Step, through="CultureStep", through_fields=("culture_id", "step_id") ) class CultureStep(models.Model): culture_id = models.ForeignKey(Culture, on_delete=models.CASCADE) step_id = models.ForeignKey(Step, on_delete=models.CASCADE) date = models.DateTimeField() notes = TranslatableField()