我正在Django创建一个足球网站并遇到了问题。目前我的主页和夹具页面位于不同的应用程序中。我有夹具页面工作,所以它显示管理页面添加的夹具。我想在主页上包含下一个即将到来的灯具,但是在导入数据时遇到了一些问题。
目前我的fixtures / models.py文件看起来像这样
from django.db import models
from django.utils import timezone
class Fixture(models.Model):
author = models.ForeignKey('auth.User')
opponents = models.CharField(max_length=200)
match_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.match_date = timezone.now()
self.save()
def __str__(self):
return self.opponents
和我的灯具/ views.py看起来像
from django.shortcuts import render_to_response
from django.utils import timezone
from fixtures.models import Fixture
def games(request):
matches = Fixture.objects.filter(match_date__gte=timezone.now()).order_by('match_date')
return render_to_response('fixtures/games.html', {'matches':matches
})
我的家/ models.py看起来像:
from django.utils import timezone
from django.db import models
from fixtures.models import Fixture
class First(models.Model):
firstfixture = models.ForeignKey('fixtures.Fixture')
和home / views.py:
from django.utils import timezone
from home.models import First
def index(request):
matches = First.objects.all()
return render_to_response('home/index.html', {'matches':matches
})
我为for循环尝试了很多组合,但没有显示所需的信息。我的for循环适用于fixtures应用程序(在HTML中);
{% for fixture in matches %}
<div>
<p>Vs {{ fixture.firstfixture.opponents }} - {{ fixture.firstfixture.match_date }}</p>
</div>
{% endfor %}
提前致谢
答案 0 :(得分:1)
您必须将all
作为一项功能;否则它只是一个可赎回的。
matches = First.objects.all()
而不是
matches = First.objects.all
编辑:您必须实际访问First实例的FK才能获得opponents
。
{% for fixture in matches %}
<div>
<p>Vs {{ fixture.firstfixture.opponents }} - {{ fixture.firstfixture.match_date }}</p>
</div>
{% endfor %}