gpt4 book ai didi

sql - Django LEFT OUTER JOIN 在两列上不是外键

转载 作者:行者123 更新时间:2023-12-04 13:43:24 26 4
gpt4 key购买 nike

我有两个这样的模型:

class ObjectLock(models.Model):
partner = models.ForeignKey(Partner)
object_id = models.CharField(max_length=100)

class Meta:
unique_together = (('partner', 'object_id'),)

class ObjectImportQueue(models.Model):
partner = models.ForeignKey(Partner)
object_id = models.CharField(max_length=100)
... # other fields
created = models.DateTimeField(auto_now_add = True)
modified = models.DateTimeField(auto_now = True, db_index=True)

class Meta:
ordering = ('modified', 'created')

上面提到的第三个模型(合作伙伴)没有什么值得注意的。

我想得到类似的东西:
SELECT * FROM ObjectImportQueue q LEFT OUTER JOIN ObjectLock l ON
q.partner_id=l.partner_id AND q.object_id=l.object_id WHERE l.object_id
IS NULL and l.partner_id IS NULL;

我遇到了 this page这告诉了如何进行自定义联接,我尝试传入要联接的列名元组来代替要联接的列名,但这不起作用。 Partner 表不需要包含在生成的 sql 查询中,但我会接受一个包含它的答案,只要它有效地完成我试图用一个查询做的事情。

最佳答案

如果你使用 Django 1.2+ 并且知道你想要的 SQL,你总是可以回退到 Raw Query.

关于sql - Django LEFT OUTER JOIN 在两列上不是外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808065/

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