一部のユーザーは、「割り当て」を持つ「コーダー」です。
class Coder(models.Model):
"""Every user can be a coder. Coders are assigned to Assignments"""
user = models.OneToOneField(User, related_name='coder')
def __unicode__(self):
return self.user.username
class Assignment(models.Model):
"""An assignment covers a range of years,
has multiple coders and one specific task"""
title = models.CharField(blank=True, max_length=100)
start_date = models.DateField(default=datetime.datetime.today)
end_date = models.DateField(default=datetime.datetime.today)
country = models.ForeignKey(Country, default=1, related_name='assignments')
coders = models.ManyToManyField(User, related_name='assignments')
screening = models.BooleanField(default=False)
classifying = models.BooleanField(default=False)
def __unicode__(self):
return self.country
コーダーがログインしている場合、与えられたすべての割り当てを表示するにはどうすればよいですか?
次のビューは機能しません。「'Coder' オブジェクトには属性 'assignments' がありません」というメッセージが表示されます。
def user_view(request):
if request.user.is_authenticated():
assignments = request.user.coder.assignments.all()
else:
pass
return render(request, 'account.html')
なぜこれが機能しないのですか?どうすればそれを機能させることができますか?