姜戈足球俱乐部



我正在Django创建一个足球网站,遇到了一个问题。目前我的主页和固定装置页面在不同的应用程序中。我让fixture页面工作,所以它显示管理页面添加的fixture。我想在主页上包括下一个即将到来的固定节目,但在导入数据时遇到了一些问题。

目前我的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

我的fixture/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
    })

我的家/型号.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循环尝试了许多组合,但没有显示所需的信息。适用于fixtures应用程序的for循环是(HTML);

  {% for fixture in matches %}
      <div>
          <p>Vs {{ fixture.firstfixture.opponents }} - {{ fixture.firstfixture.match_date }}</p>
      </div>
  {% endfor %}

提前感谢

必须将all作为函数调用;否则它只是一个可调用的。

matches = First.objects.all()

而不是

matches = First.objects.all

EDIT:您必须实际访问First实例的FK才能获得opponents

{% for fixture in matches %}
    <div>
        <p>Vs {{ fixture.firstfixture.opponents }} - {{ fixture.firstfixture.match_date }}</p>
    </div>
{% endfor %}

相关内容

  • 没有找到相关文章

最新更新