Modellare una ricetta di ricettario con django

0

Sto provando a modellare le ricette in un libro di ricette. Ecco cosa ho finora:

class Recipe(models.Model):
    title = models.CharField(max_length=255)


class Ingredient(models.Model):
    class Meta:
        ordering = ['name']

    name = models.CharField(max_length=255, unique=True)

# Models how to combine ingredient quantities in a recipe
class RecipeStep(models.Model):
    class Meta:
        default_related_name = 'recipe_step_set'

    number  = models.PositiveSmallIntegerField(null=True, blank=True)
    content = models.TextField()
    recipe  = models.ForeignKey(Recipe)

# Models a unit of measurement
class Unit(models.Model):
    class Meta:
        ordering = ['long_name']

    long_name  = models.CharField(max_length=60, unique=True)
    short_name = models.CharField(max_length=60, unique=True)

# Models a measure of an ingredient in a recipe
class IngredientQuantity(models.Model):
    class Meta:
        default_related_name = 'ingredient_quantity_set'
        verbose_name_plural  = 'recipe ingredient quantities'

    # Modeled as a string so we can do things like "1-2"
    measure = models.CharField(max_length=10, null=True, blank=True)
    unit = models.ForeignKey(Unit, on_delete=models.SET_NULL, null=True, blank=True)

    ingredient  = models.ForeignKey(Ingredient, on_delete=models.PROTECT)
    preparation = models.CharField(null=True, blank=True, max_length=100)

    recipe = models.ForeignKey(Recipe)

Questo funziona abbastanza bene nella maggior parte dei casi. Tuttavia, dì che ho una ricetta divisa in "sezioni". Considera quanto segue:

Glazed Cinnamon Buns
--

**Cinnamon Buns**

 - 4 cups all purpose flour
 - 1 package active dry yeast
 - 1 cup warm soy or almond milk 
 - 1/2 cup white sugar 
 - 1/3 cup melted vegan margarine
 - 1 teaspoon salt
 - 1/2 cup unsweetened applesauce

**Cinnamon-Sugar Filling**

 - 1 cup brown sugar
 - 2.5 tablespoons cinnamon
 - 1/3 cup vegan margarine, softened

**Icing**

 - 1 cup powdered sugar or icing sugar
 - 2-3 Tablespoons water
 - 3-4 drops lemon extract
 - a dash of nutmeg


1) In a large bowl, dissolve yeast in the warm soy/almond milk
...

Come posso modellare le ricette con più sezioni? Si noti qui che le istruzioni ( RecipeStep oggetti) appartengono alla ricetta Glazed Cinnamon Buns. Idealmente mi piacerebbe che le quantità degli ingredienti fossero di proprietà di qualche tipo di oggetto genitore, e mi chiedo se c'è un modo migliore per farlo rispetto alla definizione di una relazione ricorsiva con Recipe . Vorrei evitare questo, se possibile.

    
posta rookie 17.05.2016 - 02:17
fonte

0 risposte

Leggi altre domande sui tag