【发布时间】:2021-08-12 00:25:09
【问题描述】:
我有一个从 2006 年开始使用 mysql 数据库的旧联盟网站 php 脚本。此脚本无法运行取决于旧 php 和 mysql 版本。这就是为什么我尝试使用 django 从 mysql 数据库中获取数据,但匹配列表页面出现问题。
在数据库中有一个联赛表。我可以像这样使用 django 模板系统获取数据和列表:
models.py
class LeagueMatch(models.Model):
objects = None
idm = models.AutoField(primary_key=True)
league = models.IntegerField()
ids = models.PositiveIntegerField()
judge = models.PositiveIntegerField()
date = models.IntegerField()
idg = models.PositiveIntegerField(blank=True, null=True)
pos = models.IntegerField(blank=True, null=True)
rnd = models.PositiveIntegerField(blank=True, null=True)
idc1 = models.IntegerField()
idc2 = models.IntegerField()
type = models.CharField(max_length=20, blank=True, null=True)
idpt = models.PositiveSmallIntegerField()
points1 = models.IntegerField()
points2 = models.IntegerField()
frags1 = models.SmallIntegerField()
frags2 = models.SmallIntegerField()
win1 = models.PositiveIntegerField()
draw = models.PositiveIntegerField()
win2 = models.PositiveIntegerField()
maps = models.CharField(max_length=70)
scores = models.CharField(max_length=70)
descr = models.TextField()
server = models.CharField(max_length=30)
views.py
def all_matches(request):
match_list = LeagueMatch.objects.all()
return render(request, 'home_match.html',
{'match_list': match_list})
{% for match in match_list reversed %}
{% if match.league == 1 %}
<div class="card" >
<div class="card-body">
<h5 class="card-title"><a href="{% url 'match-detail' match.pk %}"> Match No {{ match.idm }} - Team A ({{ match.idc1 }}) vs Team B ({{ match.idc2 }})</a></h5>
<p class="card-text"><b>Score : {{ match.win1 }} : {{ match.win2 }}</b></p>
</div>
</div>
</br></br>
{% endif %}
{% endfor %}
模板渲染结果如下:
所有匹配项
Match No 55 - Team A (9) vs Team B (7) Score : 1 : 2 Match No 53 - Team A (9) vs Team B (2) Score : 2 : 0
这没关系,但球队名称不在同一张表中(league_match),只有球队编号(idc1 和 idc2)。球队名称存储在另一个表名是league_clan。我想像这样显示所有匹配列表:
Match No 55 - Team A (team 9's name ) vs Team B (team 7'name) Score : 1 : 2
我的意思是 idc1 == 9 我们将从其他表中获取数据 9 号团队的名称是什么并显示。我如何为此显示器编写模型或模板代码?我无法在 {% for %} 代码中做到这一点。有问题,求帮助。我希望解释一下谢谢。
【问题讨论】:
标签: python mysql django django-models django-templates