Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django从查询中排除项目_Python_Html_Django - Fatal编程技术网

Python Django从查询中排除项目

Python Django从查询中排除项目,python,html,django,Python,Html,Django,我有一个名为most_viewed的查询集,它是一个只包含一个元素的列表。我想在其他文章部分排除这一点,因为这将在主要部分。我收到的错误是“没有足够的值来解包”。以下是我的观点代码。我该如何着手解决这个问题 def home_view(request): title = 'Home' most_viewed = Post.objects.order_by('-views')[0:1] articles = Post.objects.all().exclude(most_v

我有一个名为most_viewed的查询集,它是一个只包含一个元素的列表。我想在其他文章部分排除这一点,因为这将在主要部分。我收到的错误是“没有足够的值来解包”。以下是我的观点代码。我该如何着手解决这个问题

def home_view(request):
    title = 'Home'
    most_viewed = Post.objects.order_by('-views')[0:1]
    articles = Post.objects.all().exclude(most_viewed).order_by('-date_posted')[0:3] 

查看最多的
是一个查询集(包含零项或一项),因此您可以通过以下方法排除此项:

def主视图(请求):
标题=‘家’
most_view=Post.objects.order_by('-views')[0:1]
articles=Post.objects.exclude(
id\uuuu in=查看的最多
).order_by('-date_posted')[0:3]
或者,您可以通过以下两个查询完成此操作:

def home_view(request):
    title = 'Home'
    most_viewed = Post.objects.order_by('-views').values('pk').first()
    articles = Post.objects.exclude(
        id=most_viewed
    ).order_by('-date_posted')[0:3]
def主视图(请求):
标题=‘家’
most_view=Post.objects.order_by('-views').values('pk').first()
articles=Post.objects.exclude(
id=查看的最多
).order_by('-date_posted')[0:3]

如果没有
Post
对象,这也是安全的,因为
most\u-views
None
,所以不会出错。

most\u-views
是一个查询集(包含零项或一项),因此您可以使用以下选项排除此项:

def主视图(请求):
标题=‘家’
most_view=Post.objects.order_by('-views')[0:1]
articles=Post.objects.exclude(
id\uuuu in=查看的最多
).order_by('-date_posted')[0:3]
或者,您可以通过以下两个查询完成此操作:

def home_view(request):
    title = 'Home'
    most_viewed = Post.objects.order_by('-views').values('pk').first()
    articles = Post.objects.exclude(
        id=most_viewed
    ).order_by('-date_posted')[0:3]
def主视图(请求):
标题=‘家’
most_view=Post.objects.order_by('-views').values('pk').first()
articles=Post.objects.exclude(
id=查看的最多
).order_by('-date_posted')[0:3]

如果没有
Post
对象,这也是安全的,因为
most\u-view
None
,所以它不会出错。

尝试
。排除(id=most\u-view.id)
“QuerySet”对象没有属性“id”,我想,因为查看最多的是一个列表,它设置了这个错误。我通过执行[0]来修复它!谢谢是的,因为你有一张清单。对不起,我没注意。如果您想以“django”的方式执行此操作,您可以使用
first()
而不是[0],但如果您的解决方案没有问题,则可以使用[0]。请尝试
。排除(id=most\u views.id)
“QuerySet”对象没有属性“id”,我想,因为查看最多的是一个列表,它会设置此错误。我通过执行[0]来修复它!谢谢是的,因为你有一张清单。对不起,我没注意。如果您想用“django”的方式进行操作,可以使用
first()
而不是[0],但如果您的解决方案还可以的话。