链接表的Django视图

链接表的Django视图,django,django-models,django-views,Django,Django Models,Django Views,我的模型中有三个表: class Recipe(models.Model): title = models.CharField(max_length=200) excerpt = models.TextField(null=True) category = models.CharField(max_length=10, default='FoodGroup') cookTime = models.CharField(max_length=20, default='

我的模型中有三个表:

class Recipe(models.Model):
    title = models.CharField(max_length=200)
    excerpt = models.TextField(null=True)
    category = models.CharField(max_length=10, default='FoodGroup')
    cookTime = models.CharField(max_length=20, default='15Min')
    prepTime = models.CharField(max_length=20, default='5Min')
    process = models.TextField(null=True)
    slug = models.SlugField(max_length=100, unique=True)
    updated = models.DateTimeField(auto_now=True)
    published = models.DateTimeField(default=timezone.now)

def get_absolute_url(self):
    return reverse('recipe:single', args=[self.slug])

class Meta:
    ordering = ['-published']

def __str__(self):
    return self.title


class Ingredient(models.Model):
    IngName = models.CharField(max_length=30)
    IngType = models.CharField(max_length=20, null=True)

def __str__(self):
    return self.IngName


class RecipeIngredients(models.Model):
    ingredient = models.ForeignKey(Ingredient, on_delete=models.CASCADE)
    recipe = models.ForeignKey(Core, on_delete=models.CASCADE)
视图如下所示:

class RecipeView(ListView):
    model = RecipeIngredients
    template_name = 'core/recipes.html'
    context_object_name = 'recipe'
然后,我尝试使用for循环查看此数据:

    {% for recipe in recipe %}
    {{ recipe.title }}
    {% endfor%}
但是用这种方法什么都得不到,我试过看文档,但我不确定我是不是用最好的方法做的?我查看了文档的多对多部分,但我认为链接表可能更适合我的场景

为其他有类似问题的人编辑:

使用Django的多人模型函数更合适:

  • 答案是正确的,物体的名称选择不当

iterable的名称必须与上下文\u对象\u名称不同

尝试不同的名称,如:

{% for diff_name in recipe %}
    {{ diff_name.title }}
{% endfor%}

谢谢我改变了这一点,也意识到在我的情况下,最好在我的模型中使用多个字段,并设法使其工作。