在Python中,在变量前面追加0

在Python中,在变量前面追加0,python,django,django-queryset,Python,Django,Django Queryset,我有一个名为fab的变量和一个Django queryset。如下: fab = self.request.GET.get('fab') 还有我的queryset queryset_df = Table1.objects.filter(Q(fab=int(fab)) | Q(fab=int(0+fab))).values_list('masks').distinct() 如图所示,我想在我的Q中的fab前面加一个零,因为有时候fab是一个整数值,有时候在前面加一个0。当我试图通过+添加时,它

我有一个名为fab的变量和一个Django queryset。如下:

fab = self.request.GET.get('fab')
还有我的queryset

queryset_df = Table1.objects.filter(Q(fab=int(fab)) | Q(fab=int(0+fab))).values_list('masks').distinct()

如图所示,我想在我的Q中的fab前面加一个零,因为有时候fab是一个整数值,有时候在前面加一个0。当我试图通过
+
添加时,它返回了一个错误,例如,
不支持的+:“int”和“unicode”的操作数类型。知道为什么吗?提前谢谢

在连接之前,应将0强制转换为unicode或字符串

fab = "0" + fab

您不能将unicode变量与整数连接,也不能将字符串与整数或浮点连接,因此您需要将其转换为正确的类型。

听起来您的逻辑似乎有问题

您正在尝试将整数强制放入
字符域
,或者尝试将字符串强制放入
整数域
。如果是前者,你总是要挣扎着去计算值以得到正确的结果,如果是后者,前导0是没有意义的


您应该尝试使用正确的字段类型,它甚至有助于模型的验证。

使用字符串:→ <代码>'0'+…
什么字段类型是
fab
?如果它不是整数域,为什么不呢?没问题,如果它对您有帮助,您可以将其标记为答案,以便其他人知道解决方案。