Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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:int()参数必须是字符串、类似字节的对象或数字,而不是';游戏';_Python_Django - Fatal编程技术网

Python Django:int()参数必须是字符串、类似字节的对象或数字,而不是';游戏';

Python Django:int()参数必须是字符串、类似字节的对象或数字,而不是';游戏';,python,django,Python,Django,我有一个名为Games的模型,其中有一些字段,我试图从数据库的单个变量中查询2个最新游戏和2个随机游戏 这是我试过的 data1 = Games.objects.order_by('-id')[:2] data2 = sorted(Games.objects.exclude(id__in=data1), key=lambda x: random.random())[:2] 但是现在我陷入了困境,我无法将data1和data2变量中的游戏组合成单个变量data3 这是我试过的 data3 =

我有一个名为
Games
的模型,其中有一些字段,我试图从数据库的单个变量中查询2个最新游戏和2个随机游戏

这是我试过的

data1 = Games.objects.order_by('-id')[:2]

data2 = sorted(Games.objects.exclude(id__in=data1), key=lambda x: random.random())[:2]
但是现在我陷入了困境,我无法将
data1
data2
变量中的游戏组合成单个变量
data3

这是我试过的

data3 = Games.objects.filter(Q(id__in=data1) | Q(id__in=data2))
但它引发了一个错误,
int()参数必须是字符串、类似字节的对象或数字,而不是“Games”

我们怎么能做到呢?谢谢:)

试试:

data3 = Games.objects.filter(
    reduce(lambda x, y: x | y, [Q(id__contains=i.id) for i in data1]) |
    reduce(lambda x, y: x | y, [Q(id__contains=i.id) for i in data2])
    )

你能把你的游戏模型添加到问题中吗?@Azsgy先生,游戏模型只包含一个
charfield
textfield
slugfield
filefield
你能不能整理
列表(chain
?@RajaSimon我试过chain,但没用。Rakesh先生给出的答案很好:)请让我知道是否还有其他方法?先生,也可以使用
list(chain()
方法吗?我不确定
list(chain())
方法是什么?我尝试了chain方法,类似于
chain(Q(Games.objects.filter(id_uin=data1))| Q(Games.objects.filter(id_uin=data2))
,但没有用。