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))
,但没有用。