今天好,我是Django和python的初学者,两天前才开始学习。目前,我正在尝试在中过滤数据视图.py以及创建一个显示在我的主页中的上下文,其中包含初始模型和“外键”模型。然而,我在网上找不到帮助,尽管这是一个简单的问题。。来吧。。你知道吗
涉及的模型:
class Plan(models.Model):
plan_ID = models.CharField(
primary_key=True,
max_length=8,
validators=[RegexValidator(regex='^\w{8}$', message='Length has to be 8', code='nomatch')]
)
plan_crisisID = models.ForeignKey(Crisis, on_delete=models.CASCADE)
plan_status = models.CharField(max_length=50)
class Crisis(models.Model):
crisis_ID = models.CharField(
primary_key=True,
max_length=4,
validators=[RegexValidator(regex='^\w{4}$', message='Length has to be 4', code='nomatch')]
)
crisis_name = models.CharField(max_length=50)
你知道吗视图.py对于HTML:
def home(request):
template = loader.get_template('pmoapp/home.html')
crisisList = Crisis.objects.filter(crisis_status='Ongoing').order_by('-crisis_ID')
context = {
'crisisList': crisisList,
#'planList': planList
}
return HttpResponse(template.render(context, request))
最后,我的HTML页面:
<tbody>
{% if crisisList %}
{% for crisis in crisisList %}
<tr>
<td>{{ crisis.crisis_ID }}</td>
<td><a href="/report/{{ crisis.crisis_ID}}">{{ crisis.crisis_name }}</a></td>
<td>{{ crisis.crisis_dateTime }}</td>
<td>planid</td>
<td>planstatus</td>
</tr>
{% endfor %}
{% else %}
<p>No crisis available.</p>
{% endif %}
</tbody>
我有几件事不知道该怎么办。。对不起,请原谅我。。你知道吗
如上所述,我目前只能显示危机模型的属性,我不知道如何显示计划,也不知道如何过滤数据以获得具有相同危机ID和最高计划ID的计划
我在危机和计划之间有一个多对一的关系,这样一个危机可以有多个计划,由“外键”链接:Plan\u crisid。我想让HTML以上面看到的HTML格式显示所有危机对象,以及id值最高且属于同一危机的计划(planid,planstatus)。你知道吗
我知道这段代码的逻辑部分是在视图.py,但是我不知道该怎么开始,也不知道该怎么做。。非常感谢您的帮助,我将提供所需的任何其他信息。。我有许多其他类似的模式与外键和多对多的链接,在类似的情况下。。我希望从这里的答案中学习,这样我就可以在我的项目中的其他地方复制这一点。。你知道吗
我认为你们走在正确的轨道上,但应该从另一端开始,因为危机正在计划之中。你知道吗
在视图中,拉入平面列表而不是十字列表,然后可以:
哦,您可能应该将查询转换为:
相关问题 更多 >
编程相关推荐