【发布时间】:2016-04-20 06:46:09
【问题描述】:
我正在学习 Django,
我在从具有相同视图的 2 个不同模型中获取数据时遇到问题。
我的模型如下:
@python_2_unicode_compatible
class Destination(models.Model):
roadtripname = models.CharField(max_length=100)
def __str__(self):
self.roadtripname
@python_2_unicode_compatible
class Trajectories(models.Model):
roadtripname = models.ForeignKey(Destination, on_delete=models.CASCADE)
place_text = models.CharField(max_length=100)
def __str__(self):
return self.place_text
我的视图类是这样的:
class IndexView(generic.ListView):
template_name = 'roadtrip/index.html'
context_object_name = 'roadtrip_list'
def get_queryset(self):
return Destination.objects.filter()
我的 html 是:
{% for roadtrip in roadtrip_list %}
{{ roadtrip.roadtripname }}
{% endfor %}
我试图像这样退回我的 2 个模型:
return Destination.objects.filter(), Trajectories.objects.filter()
然后在html中做
{% for roadtrip in roadtrip_list[0] %}
{{ roadtrip.roadtripname }}
{% endfor %}
但这不起作用,我不知道如何访问 Destination 和 Trajectories 模型。谁能指出我正确的方向?
【问题讨论】:
-
你不能,get queryset应该做一件事,那就是返回one queryset。你到底想做什么?显示目的地轨迹或显示所有两个模型? (都有据可查)
-
我有一个选择按钮,我在其中选择了目的地,然后在我的代码中,我想检索与目的地 id 链接的轨迹。我在想,如果我可以返回两个模型,我可以遍历第二组(轨迹)中的数据,并在它等于选择值时保存在一个 javascript 数组中。
标签: django django-models django-views