【发布时间】:2017-01-06 15:49:39
【问题描述】:
在我的视图中渲染 ManyToMany 字段时遇到问题。
#模型:
from django.db import models
class Ingredient(models.Model):
content = models.CharField(max_length=300, default='')
def __str__(self):
return self.content
class Drink(models.Model):
ingredient = models.ManyToManyField(Ingredient)
title = models.CharField(max_length=300)
description = models.TextField(max_length=500)
def __str__(self):
return self.title
#查看:
from django.shortcuts import render
from .models import Drink, Ingredient
def index(request):
drinks = Drink.objects.all()
context = {'drinks': drinks}
return render(request, 'drinks/index.html', context)
#模板:
{% for i in drinks %}
<h3>{{ i.title }}</h3>
<p><b>Description:</b> <br>{{ i.description }}</p>
<p>{{ i.ingredient.all }}</p>
{% endfor %}
这是我的网站:
Screw driver
Description:
Good drink made of pure vodka and California cultured oranges.
<QuerySet [<Ingredient: Vodka>, <Ingredient: Orange juice>]>
我找不到任何合适的方法来过滤或格式化最后一个字符串。 有人有想法吗?
【问题讨论】:
-
你已经知道如何迭代
drinks。为什么不对i.ingredient.all做同样的事情?它们都是查询集。
标签: python django django-models django-views django-queryset