Python-Django从表中选择值“IN”-Error int()的无效文本,以10为底:','

Python-Django从表中选择值“IN”-Error int()的无效文本,以10为底:',',python,mysql,django,Python,Mysql,Django,如何在Python/Django中选择MySQL值 我有一个HTML表单输入字段,在这里我提交用逗号分隔的值。1,2,3. 这些值是my DB表中的整数数据类型 我的Python代码: n = request.POST['gcn'] results = MyTable.objects.filter(gcn__in=[n]) 当我只提交一个没有逗号的数字时,我会得到正确的结果,一旦我添加逗号或提交多个值1,2,我会得到一个错误 invalid literal for int() with bas

如何在Python/Django中选择MySQL值

我有一个HTML表单输入字段,在这里我提交用逗号分隔的值。1,2,3. 这些值是my DB表中的整数数据类型

我的Python代码:

n = request.POST['gcn']
results = MyTable.objects.filter(gcn__in=[n])
当我只提交一个没有逗号的数字时,我会得到正确的结果,一旦我添加逗号或提交多个值1,2,我会得到一个错误

invalid literal for int() with base 10: ','
试试这个:

n = request.POST['gcn']
n = n.replace(' ', '').split(',')
results = MyTable.objects.filter(gcn__in=n)

您正在尝试搜索['1,2,3']


这将创建一个合适的gnc列表:['1','2','3'].

Wow!这一定是我做过的最快的正确回答了!再次感谢你的帮助和时间!一旦系统允许,我将接受答案!我们将互相帮助。感谢您为我展示了另一种正确创建正确列表的方法!
gcn = request.POST.get('gcn', '')
gcn = gcn.split(',')
results = MyTable.objects.filter(gcn__in=gnc)