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 回答