0

これは私のモデルです

class UserAward(models.Model):
    user = models.ForeignKey(User, related_name='awards')
    award = models.CharField(max_length=255)
    week = models.SmallIntegerField(default=0)
    year = models.IntegerField(default=0)
    points_gained = models.IntegerField(default=0)
    timestamp = models.DateTimeField(auto_now=True)

そして私がこれを与えるとき:

users = User.objects.filter(awards__award='level up', awards__week=prev_wk, awards__year=prev_year).order_by('-profiles__level')

このエラーが発生します:

Related Field has invalid lookup: year

クエリを削除すると正常に機能しfilter(awards__year=prev_year)ます。

問題はどこだ?

4

1 に答える 1

3

これを試して:

users = User.objects.filter(awards__award='level up').filter(awards__week=prev_wk).filter(awards__year__exact=prev_year).order_by('-profiles__level')

基本的に、djangoは__year、そのフィールドから年が必要だと思った日付オブジェクトから年フィールドを抽出するために使用します

于 2012-06-18T07:00:04.720 に答える