gpt4 book ai didi

python - 返回所有对象的 Django ORM 过滤器默认值

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:09 25 4
gpt4 key购买 nike

我有一个模型 Book,它有一个字段 year_of_publishing。用户输入年份,我想过滤 Book 的集合,以获取当年出版的所有书籍。

year = self.cleaned_data.get('year', SOME_DEFAULT_VALUE)
books = Book.objects.filter(year_of_publishing=year)

但是用户可能会将 year 字段留空,我想输入一些默认值,在 .filter 函数中获取默认值 Django ORM 会返回所有书籍,例如这个过滤器根本不存在。我应该使用什么值?我想它应该是类型独立的,所以我可以将它用于 Char-、Choice- 和其他类型的字段。

最佳答案

您可以将空字典传递给 .filter() 以返回所有结果,或过滤您想要的字段/值:

filters = {}

year = request.GET.get('year')
if year:
filters['year'] = year

books = Book.objects.filter(**filters)

关于python - 返回所有对象的 Django ORM 过滤器默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com