Извините, если мой ответ в другом месте был неясен, но то, что вы делаете, хорошо. Возможно, было бы точнее сказать, что задание «сбрасывается», что происходит автоматически. Поскольку контрольные точки глобально согласованы, важно, чтобы все менеджеры задач перематывали и перезапускали обработку с состояния, записанного в контрольной точке, но Flink позаботится об этом за вас (как только необходимые ресурсы снова станут доступны).
На самом деле похоже, что существует лучший подход с помощью фильтра:
my_book = Book.objects.get(pk=1)
all_ingredients = Ingredient.objects.filter(recipe__book=my_book)
Распечатать каждый рецепт и его компоненты:
mybook = Book.objects.get(name="Jason's Cookbook")
for recipe in mybook.recipe_set.all():
print recipe.name
for ingredient in recipe.ingredients:
print ingredient.text
И если Вы просто хотите получить список всех объектов компонента:
mybook = Book.objects.get(name="Jason's Cookbook")
ingredient_list = []
for recipe in mybook.recipe_set.all():
for ingredient in recipe.ingredients:
ingredient_list.append(ingredient)