首页 > 解决方案 > 如何枚举每个外键的元素

问题描述

朋友们。

我有 2 个类(部分和数据)。对于 Part 类的每个元素,都有几个 Data 类的元素(通过外键)。所以,我在 SQLite 中有 2 个表:Part 和 Data。Data表中的ID编号是连续的,即不管外键是否改变,表ID都是递增的。如何为每个外键独立编号表(从 1 到具有一个外键的行数)?顺便说一句,英语是外语:)

标签: pythondjangosqlite

解决方案


我没有完全得到您的问题,但是您想获取与特定零件对象相关的所有数据对象,然后您可以使用以下代码

p = Part.objects.filter().first()
# datas is a list of data objects associated to part p
datas = list(p.data_set.all())

更新

如果要枚举在数据表中使用外键的 Part 的所有对象,请使用以下代码:

# Assuming your foreign key in data table has name 'part'
Part.objects.filter(id__in=Data.objects.values_list('part', flat=True))

推荐阅读