Source

article / article / api / views.py

Full commit
from tastypie.resources import ModelResource
from tastypie import fields, utils

from article.models import Recipe, Ingredient, RecipeIngredient, Measurement


class RecipeResource(ModelResource):
    ingredients = fields.ToManyField('article.api.views.RecipeIngredientResource', 'recipe_ingred', related_name='recipeingredient', full=True)

    class Meta:
        queryset = Recipe.active.select_related()
        resource_name = 'recipe'

class IngredientResource(ModelResource):
    class Meta:
        queryset = Ingredient.objects.all()

class RecipeIngredientResource(ModelResource):
    ingred_name = fields.ToOneField('article.api.views.IngredientResource', 'ri_ingred', full=True)
    measurement = fields.ToOneField('article.api.views.MeasurementResource', 'ri_measurement', full=True)

    class Meta:
        queryset = RecipeIngredient.objects.all()
        resource_name = 'recipeingredient'
        excludes = ['ri_date']

class MeasurementResource(ModelResource):
    class Meta:
        queryset = Measurement.objects.all()