如何从 Django 模型中获取 ID

How to get the Ids from a django model

您好,我有两个模型,名为 A 和 B。我想从我的模型 B 中获取 ID,并将其与模型 A 中的 ID 进行比较(外键关系)。我使用以下方法获取 ID a = B.objects.filter(b_id=object.id).values_list('id')

但是打印的结果是 [(82L,), (83L,), (84L,), (85L,)] 而不是 [82, 83 ,] 等。 如何获得没有附加 Ls 的平面列表?

values_list() 默认情况下 returns 将值分组到元组中。

如果您不想这样,请使用

values_list('id', flat=True)

这些数字是长整数。因此,它们返回时带有 L 后缀。不过,数字后面确实没有字母 'L'。这已在 Python 3 中删除,因为所有整数现在都被视为长整数。我不相信你所看到的会引起恐慌。

编辑:有关详细信息,请参阅 why-do-integers-in-database-row-tuple-have-an-l-suffix