python - 如何删除 Django 中每个列表值之后的 "L"

标签 python django django-orm

我进行了查询以从模型中获取所有字段值。我将结果存储在查询集中。

queryset=Books.objects.filter(book_type="comic")

现在当我过滤这个查询集时:

query=queryset.filter(~Q(auther_id=1))
autherList=[]
for q in query:
    autherList.append(q.auther_id)
print autherList

它将列表打印为:

[3L, 4L, 9L, 13L, 53L, 53L, 102L, 111L, 111L, 111L, 111L] 

我的问题是:这个 L 表示什么以及如何删除它以获得简单的 ID 列表。

我查看了这个,但找不到任何相关信息。

最佳答案

L 表示项目是long 类型。

底层数据库库(可能是 mysql?)正在创建 long 类型,同时从数据库中获取它们。所以它们是 long 而不是普通的 int

您可以使用 int 函数将它们转换为整数。

>>> lng_number = 23L

>>> int_num = int(lng_number)

>>> int_num
23

如果所有的值都是long类型,你可以像这样使用map:

>>> long_list = [1L, 3L, 10L]

>>> int_list = map(int, long_list)

>>> int_list
[1, 3, 10]

>>>

关于python - 如何删除 Django 中每个列表值之后的 "L",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34768868/

相关文章:

Python 打印 unicode 列表

django - 使用 Django 为 favicon.ico 提供服务。为什么带有 django.views.generic.simple.redirect_to 的 settings.MEDIA_URL 仅适用于开发环境?

python - Django 中 OneToMany 或 ManyToOne 的任何替代方案

python - 在 Django 中有效地获取相关模型的数量

python - 如何在 pywinauto 中通过正则表达式标题搜索子代/后代?

python - 获取数据框中列的每个元素的第一个字符

python - 如何读取 csv 文件中不同列的变量和字典?

django - 如何在 Django Rest 框架中登录用户电子邮件或用户名(JWT token )

django - Django 持久数据库连接线程安全如何?

django-orm - “ptr”在Django ORM列名称中代表什么?