python - Django 多对五月 : how get row id in related table

标签 python sql django models

例如,我有 2 个简单模型

class First(m.Model):
    target_field = m.CharField()
class Second(m.Model):
    link_field = m.ManyToManyField(First)

相关链接表如下所示: 编号 |第二个 ID |第一个ID

如何获取身份证?不是 secondary_id 或first_id - 确切地说是行 ID。 我找不到它的 Django 方法,所以我自己编写了它。 感谢您的帮助。

UPD。 对于前端 API,我需要相关对象的交叉 ID。

q_second = Second.objects.select_related().all()
for i in q_second.link_field.all()
    print i.pk

第一个表中的这个打印 ID 可以,但我需要相关的 secondary_link_field 表中的行 ID

最佳答案

也许你需要这个:

seconds = Second.objects.all()
for second in seconds:
    for i in Second.link_field.through.objects.filter(link_field=second):
        print i.id

through对象是一个常见的django模型对应的多对多字段中间表,你可以查询它来获取条目的id

关于python - Django 多对五月 : how get row id in related table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20772235/

相关文章:

sql - 将列移动到 ORACLE 中的新表

python - 需要 'package' 参数来执行相对导入

python - pydantic 中的验证

Python nosetest 不起作用,但直接运行它可以使用 matplotlib 的 @image_comparison

sql - 通过查询获取组中每条记录的MAX值

python - 使用 daphne : Requested setting INSTALLED_APPS, 部署 django Web 应用程序但未配置设置时出错

django - 如何为基于ListView的类写get方法

python - VSCode - 当我尝试打印 unicode 时,输出窗口显示 "UnicodeEncodeError"

python - 使用羽化格式包出错

mysql - MySql 中的时间戳和夏令时 [dst]