0

一部のユーザーは、「割り当て」を持つ「コーダー」です。

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')

なぜこれが機能しないのですか?どうすればそれを機能させることができますか?

4

1 に答える 1

1

を使用しrequest.user.coder.assignments.all()ます。

render の呼び出しで割り当てを渡していません

于 2013-04-27T17:11:50.250 に答える