gpt4 book ai didi

python - 没有外键的多个表中的Django查询

转载 作者:行者123 更新时间:2023-11-30 22:34:19 28 4
gpt4 key购买 nike

我的模型是这样的

class Trans(models.Model):
id = models.CharField(primary_key=True, max_length=60)
sys = models.ManyToManyField(Sys)
flag = models.CharField(max_length=15, blank=True, null=True)

class Sys(models.Model):
id = models.CharField(primary_key=True, max_length=64)
mid = models.CharField(max_length=15, blank=True, null=True)
numbers = models.IntegerField(blank=True, null=True)
org = models.CharField(max_length=100, blank=True, null=True)

我想在 Trans 中获取 orgnumbers 并像这样在模板中使用它们

{% for row in rowlist %}
{{ row.mid }} //in Trans
{{ row.flag }} //in Trans
{{ row.org }} //in Sys when mid=Trans.mid
{{ row.numbers }}//in Sys when mid=Trans.mid

SQL 应该是

SELECT Sys.numbers, Sys.org FROM Sys, Trans WHERE Trans.mid = Sys.mid

如何在 Django 中进行这样的查询?我试过了

cursor.execute("SELECT * From trans, sys")
rowlist = cursor.fetchone()

它返回我需要的但是是 turple

最佳答案

我建议将其设为外键,因为它应该是。

你可以这样做。

trans_mid = Trans.objects.values('mid')
syss = Sys.objects.filter(mid__in=trans_mid)

此外,您可以使用 raw_sql执行这样的查询。

关于python - 没有外键的多个表中的Django查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33030476/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com