2016-10-29 4 views
1

私は次のコードを持っている:ジャンゴ:onetoneフィールドへのPythonのアクセス

fixtures = StraightredFixture.objects.select_related().filter(soccerseason=soccerseason,fixturematchday=fixturematchday).order_by('fixturedate') 
temp2 = fixtures[0].hometeamscore 

それは動作しますが、それはモデル「StraightredFixture」から「hometeamscore」を使用しているのが、私は「StraightredFixtureLive」から、それを必要としています。それに応じて誰かが私のコードを修正する手助けをしてくれました、多くのありがとう、アラン。

二つのモデルは以下の通りです:

class StraightredFixture(models.Model): 
    fixtureid = models.IntegerField(primary_key=True) 
    home_team = models.ForeignKey('straightred.StraightredTeam', db_column='hometeamid', related_name='home_fixtures') 
    away_team = models.ForeignKey('straightred.StraightredTeam', db_column='awayteamid', related_name='away_fixtures') 
    fixturedate = models.DateTimeField(null=True) 
    fixturestatus = models.CharField(max_length=24,null=True) 
    fixturematchday = models.ForeignKey('straightred.StraightredFixtureMatchday', db_column='fixturematchday') 
    spectators = models.IntegerField(null=True) 
    hometeamscore = models.IntegerField(null=True) 
    awayteamscore = models.IntegerField(null=True) 

    def __unicode__(self): 
     return self.fixtureid 

    class Meta: 
     managed = True 
     db_table = 'straightred_fixture' 

class StraightredFixtureLive(models.Model): 
    fixtureid = models.OneToOneField(StraightredFixture, on_delete=models.CASCADE, primary_key=True,) 
    hometeamscore = models.IntegerField(null=True) 
    awayteamscore = models.IntegerField(null=True) 

    def __unicode__(self): 
     return self.fixtureid 

    class Meta: 
     managed = True 
     db_table = 'straightred_fixturelive' 

答えて

1

ジャスト関連一対一フィールドインスタンスとそのインスタンスのhometeamscoreフィールドにアクセス:

temp = fixtures[0].straightredfixturelive.hometeamscore 
#     ^^^^^^^^^^^^^^^^^^^^^^ 
+0

私は私がそれをしたと思ったが、その後実現します私は小文字に変更しませんでした。これほどまでにありがとうございます。私はできるだけ早く答えを受け入れることができません、多くのありがとう、アラン。 –

関連する問題