Python 过滤外键

Python 过滤外键,python,django,django-models,django-templates,django-views,Python,Django,Django Models,Django Templates,Django Views,我生成QuerySet如下: def get_queryset(self): return Article.objects.filter(foreignkey=self.kwargs['value']) 生成的值如下所示: <a href="{% url 'someview' value %}">anchor</a> url(r'^(?P<value>\w+)/$', someview.as_view(), name='someview') 您正在

我生成QuerySet如下:

def get_queryset(self):
    return Article.objects.filter(foreignkey=self.kwargs['value'])
生成的值如下所示:

<a href="{% url 'someview' value %}">anchor</a>
url(r'^(?P<value>\w+)/$', someview.as_view(), name='someview')

您正在将字符串传递给外键的主键,默认情况下主键为整数。如果要基于外键字段进行筛选,请使用

def get_queryset(self):
    return Article.objects.filter(foreignkey__valuefield=self.kwargs['value'])
来源

您要传递的字符串是什么?您希望
ForeignKey
上的
filter()
做什么?谢谢。尝试使用foreignkey\uu pk=self.kwargs['value']甚至foreignkey=ForeignClass.objects.get(pk=self.kwargs['value'])get\u queryset方法在哪里?我必须传递字符串值,所以它在浏览器中显示为字符串,例如www.example.com/value/,而不是www.example.com/22/@nickbusted,所以您将字符串传递给外键主键,默认情况下主键为int。你的外键是什么?它是否有存储您的值的字段?如果是这样,请尝试使用foreignkey__valuefield=self.kwargs['value']进行筛选。
def get_queryset(self):
    return Article.objects.filter(foreignkey__valuefield=self.kwargs['value'])