当我使用时:
post = get_object_or_404(Employee, user_id=User.objects.latest('id'))
它返回最新的雇员,因为Employee.user_id是User.id的外键
当我使用时:
post = get_object_or_404(User, id=User.objects.latest('id'))
我希望获得最新的用户,但是现在出现以下错误:
int()参数必须是字符串,类似字节的对象或数字,而不是'User'
我在这里做什么错了?
答案 0 :(得分:1)
如您所说:
Employee.user_id是外键
这是指向User
对象的外键。
因此,为它分配一个通过查询User.objects.latest('id')
找到的对象即可。在第二种情况下,id
参数是int()而不是外键,因此您不能为其分配User
对象。尝试使用它的id
属性:
post = get_object_or_404(User, id=User.objects.latest('id').id)