我有一个名为 Game 的模型,它对 User 有一个 ManyToManyField
class Game(models.Model):
name = models.CharField(max_length=64, blank=False)
image = models.URLField(blank=True)
user = models.ManyToManyField(User, related_name='game', blank=True)
port = models.IntegerField()
def __unicode__(self):
return self.name
和一个视图
class Dashboard(TemplateView):
template_name = 'dashboard.html'
def get(self, request, *args, **kwargs):
kwargs['games'] = Game.objects.filter(user=request.user)
return super(Dashboard, self).get(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super(Dashboard, self).get_context_data(**kwargs)
return context
这一切都有效,我脑海中的问题是,访问游戏数据的最佳方式是什么。在我的模板中,我可以执行以下任一操作来访问游戏数据。
1. 像这样使用 User 对象
{% for g in user.game.all %}
2.或者使用从View中专门传入的games对象
{% for g in games %}
尽管两者都有效,但是否有推荐的方法来做这种事情,或者它们都有效吗?
如果不是都有效,想知道每种方法的支持和反对是什么
干杯
富有的