0

外部キーを使用して異なるアプリの 2 つのモデル間の関係を定義し、データは外部キー インスタンスを使用して Db に正確に挿入されますが、Django ORM を使用してそのデータをフェッチしたいのですが、取得できませんでした。この問題をググって、スタックオーバーフローの質問もチェックしましたが、それでも私の問題は解決されません。

#models.py

class teamInfo(models.Model):       
    ownerID = models.IntegerField()
    teamName = models.CharField(max_length=50)

    def __unicode__(self):
         return unicode(self.id)

class gameWorld(models.Model):
    team = models.ForeignKey(teamInfo)
    w = models.IntegerField(null=True)
    l = models.IntegerField(null=True)

    def __unicode__(self):
        return unicode(self.id)

私は自分の意見でいくつかのことを試しましたが、何もうまくいきませんでした。これが私の見解で試した最新のものです:

def teamStandings(request,template=None,context=None):

    getAllTeamStat = gameWorld.objects.all()

    for i in getAllTeamStat.teaminfo_set.select_related() :
        raise Exception(i.teaminfo.teamName)

テンプレートにチーム名を表示できるように、両方のモデルからデータをフェッチする Django ORM クエリが必要です

4

2 に答える 2

0

ここを見て、それを試してください:

class TeamStandingsView(ListView):
    model = gameWorld
    template = # Some template path here!
    context_object_name = "games"

テンプレート内:

{% for game in games %}
    {{ game.team.teamName }} 
{% endfor %}
于 2013-08-01T09:51:07.463 に答える
-3

編集:これはうまくいくはずです:

def teamStandings(request,template=None,context=None):
        getAllTeamStat=gameWorld.objects.all()
        for team in getAllTeamStat:
            for teaminfo in team.teaminfo_set.all():
                 print teaminfo.teamName
于 2013-08-01T09:44:31.427 に答える