为Django中具有两个外键的类构造过滤器到同一个类

时间:2012-05-01 20:52:34

标签: python django django-models django-filters

我有一个Django模型,它有两个不同的外键到同一个模型。我为每个字段定义了唯一的related_names。

当我尝试根据这些字段过滤类时出现问题。

这是我正在研究的模型:

class Foo(models.Model):
    f_key1 = models.ForeignKey(Bar, related_name='key_1')
    f_key2 = models.ForeignKey(Bar, related_name='key_2')
    someNumber = models.IntegerField()

这是我构建过滤器的方法:

list = Foo.objects.filter(Q(f_key1=bar1) | Q(f_key2=bar1)).order_by('-someNumber')[:3]

这是我收到的错误消息:

int() argument must be a string or a number, not 'ReverseSingleRelatedObjectDescriptor'

我在这里做错了什么?

0 个答案:

没有答案