在文档中,有没有方法可以覆盖此行为?在
也就是说,我希望car.built_by
返回一个模型实例,即<Manufacturer: Toyota>
而不是主键,因为我需要在注释时维护外键关系。在
更新:
我目前正在开发一个篮球统计网站。我有以下型号:
# models.py
class Game(models.Model):
league = models.ForeignKey('League', ...)
tournament = models.ForeignKey('Tournament', ...)
home_team = models.ForeignKey('Team',...)
away_team = models.ForeignKey('Team',...)
home_pts = models.IntegerField()
away_pts = models.IntegerField()
class Team(models.Model):
team_name = models.CharField()
team_code = models.CharField()
team_nickname = models.CharField()
def __str__(self):
return f'{self.team_name} {self.team_nickname}'
我使用django-tables2来填充一个球队的特定比赛日程表。因此,我进行以下查询:
^{pr2}$这给了我球队的比赛。我的问题是当我在视图.py在球队的赛程上,我希望它是“对手”而不是“主队”和“客队”。所以我决定这么做:
Team_Game_Queryset.annotate(opponent=Case(When(home_team=/team_id/, then=F('away_team')), default=F('home_team'), output_field=ForeignKey('myapp.Team'))
我的问题是,带注释的列“opponent”不是团队模型的ForeignKey引用,所以我不能使用对象的str表示。我可以通过将QuerySet转换为pandas数据帧,然后返回一个字典(很容易读入django-tables2)。但是我总是喜欢将QuerySet返回到django表,而不是dict,我想知道是否有任何方法可以覆盖F()的行为,或者是否有其他方法可以使用QuerySets来实现这一点。在
既然您说过使用django-tables2,那么我假设您有一个table类
注意,我已经添加了一个
opponent
列,并在表上编写了一个render_opponent
方法。(Refer to the docs)我个人从来没有使用过django-tables2,但这是我通过阅读文档中的教程而得到的
相关问题 更多 >
编程相关推荐