django int()参数必须是字符串或数字,而不是'Liquor'

时间:2013-11-08 05:58:26

标签: django

在下面的代码中,我得到错误int()参数必须是字符串或数字,而不是'Liquor',但我似乎无法弄清楚如何将值传递给

storeID = Store.objects.get(StoreID=store_id)
storeliquor = StoreLiquor.objects.get(SPI=SPI_param)
liquor_param = storeliquor.liquorID
liquor = Liquor.objects.get(id=liquor_param)

2 个答案:

答案 0 :(得分:2)

似乎liquor_paramLiquor对象。

替换最后一行:

liquor = Liquor.objects.get(id=liquor_param)

使用:

liquor = Liquor.objects.get(id=liquor_param.pk) # or liquor_param.id

答案 1 :(得分:1)

实际上,liquor = Liquor.objects.get(id=liquor_param)是多余的,在您的情况下不需要。

liquor_paramstoreliquor.liquorID是您要获取的Liquor对象,再次从DB中检索它是无效的。