2
我正在構建一個Django應用程序來模擬足球比賽。我的模型中有兩個是:Django OneToOneField unicode方法
class Match(models.Model):
arsenal = models.OneToOneField('Roster', related_name="arsenalRoster")
opponent = models.OneToOneField('Roster', related_name="opponentRoster")
date = models.DateTimeField()
location = models.CharField(max_length=64)
...
class Roster(models.Model):
squad = models.ForeignKey('Squad')
def __unicode__(self):
if self.squad.season.footballClub.name is "Arsenal Football Club":
return u'%s, @%s' % (self.match.date, self.match.location)
else:
return u'%s, %s' % (self.match.date, self.squad.season.footballClub.name)
現在很明顯,我不能因爲沒有實例屬性來訪問比賽對象返回self.match.date,並適當地我得到一個錯誤:AttributeError: 'Roster' object has no attribute 'match'
。但是,這是我想根據給定的條件返回的信息。是否可以從Roster對象的Match對象中訪問實例數據?我如何在不改變模型的情況下實現我想要做的事情?
使用相關的名字給我一個DoesNotExist錯誤:'提高自我。 related.model.DoesNotExist DoesNotExist' –
@ChrisClouten你應該檢查相關對象是否存在 – ndpu