2016-10-29 5 views
1

나는 다음과 같은 코드가 있습니다장고 : onetone 필드 파이썬 액세스

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

을 내가 그랬어하지만 실현 생각 나는 소문자로 바꾸지 않았다. 아주 많이 감사합니다. 아직 답변을 수락 할 수 없지만 최대한 빨리 할 것입니다. 많은 감사합니다, 앨런. –