Django 按父项过滤子项
Django filter child by parent
我正在尝试在我的模板中按父项过滤子项。例如,我有展示的房屋,并希望与他们一起展示他们的便利设施(儿童)。当我尝试这样做时,每所房子都会列出每所房子的所有便利设施。我该怎么做才能列出一栋房子及其便利设施?
这是我的模型:
class Home(models.Model):
name = models.CharField(max_length=255)
photo = models.ImageField()
def __str__(self):
return self.name
class Amenities(models.Model):
home = models.ForeignKey(Home)
amenities = models.CharField(max_length=255)
在我看来,我正在尝试按父项过滤子项:
def index(request):
home = Home.objects.filter()
amenities = Amenities.objects.filter(home=home)
return render(request, 'home/home.html', {'home': home, 'amenities': amenities})
在我的模板中,我尝试循环遍历每个家庭及其便利设施,如下所示:
{% for house in home %}
<div class="row">
<div class="col-md-6 portfolio-item">
<a href="house1.html">
<img class="img-responsive" src=" media/{{ house.photo }}" alt="">
</a>
<h3>
<a href="house1.html">House</a>
</h3>
<ul>
{% for i in amenities %}
<li>{{ i.amenities }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
谢谢
我想你正在找这个
{% for house in home %}
<div class="row">
<div class="col-md-6 portfolio-item">
<a href="house1.html">
<img class="img-responsive" src=" media/{{ house.photo }}" alt="">
</a>
<h3>
<a href="house1.html">House</a>
</h3>
<ul>
{% for i in house.amenities_set.all %}
<li>{{ i.amenities }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
我正在尝试在我的模板中按父项过滤子项。例如,我有展示的房屋,并希望与他们一起展示他们的便利设施(儿童)。当我尝试这样做时,每所房子都会列出每所房子的所有便利设施。我该怎么做才能列出一栋房子及其便利设施?
这是我的模型:
class Home(models.Model):
name = models.CharField(max_length=255)
photo = models.ImageField()
def __str__(self):
return self.name
class Amenities(models.Model):
home = models.ForeignKey(Home)
amenities = models.CharField(max_length=255)
在我看来,我正在尝试按父项过滤子项:
def index(request):
home = Home.objects.filter()
amenities = Amenities.objects.filter(home=home)
return render(request, 'home/home.html', {'home': home, 'amenities': amenities})
在我的模板中,我尝试循环遍历每个家庭及其便利设施,如下所示:
{% for house in home %}
<div class="row">
<div class="col-md-6 portfolio-item">
<a href="house1.html">
<img class="img-responsive" src=" media/{{ house.photo }}" alt="">
</a>
<h3>
<a href="house1.html">House</a>
</h3>
<ul>
{% for i in amenities %}
<li>{{ i.amenities }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}
谢谢
我想你正在找这个
{% for house in home %}
<div class="row">
<div class="col-md-6 portfolio-item">
<a href="house1.html">
<img class="img-responsive" src=" media/{{ house.photo }}" alt="">
</a>
<h3>
<a href="house1.html">House</a>
</h3>
<ul>
{% for i in house.amenities_set.all %}
<li>{{ i.amenities }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endfor %}