ManyToManyField to User を持つ Game というモデルがあります
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. または、ビューから明確に渡されたゲーム オブジェクトを使用する
{% for g in games %}
どちらも機能しますが、この種のことを行うための推奨される方法はありますか、それとも両方とも有効ですか?
両方が有効ではない場合、各メソッドの賛成と反対は何なのか疑問に思います
乾杯
リッチ