Django查询:模型中不在其他模型中的项

Django查询:模型中不在其他模型中的项,django,django-models,orm,Django,Django Models,Orm,Noob Django ORM问题: 我有一个类似的模型: class Company(models.Model): id = models.PositiveIntegerField(null=False, blank=False, primary_key=True) name = models.CharField(max_length=255, null=True, blank=True, default="") class Audited(models.

Noob Django ORM问题:

我有一个类似的模型:

class Company(models.Model):
    id = models.PositiveIntegerField(null=False, blank=False, primary_key=True)
    name = models.CharField(max_length=255, null=True, blank=True, default="")

class Audited(models.Model):
    company = models.ForeignKey(
        Company,
        null=False,
        blank=False,
        on_delete=models.CASCADE,
        related_name="logs"
    )
    city = models.CharField(null=False, blank=False, max_length=255)
我一直在为这个问题绞尽脑汁,想不出如何解决它

给定一个城市,我需要没有在该城市接受审计的公司,因此基本上是没有在该城市接受审计记录的公司

例如,如果纽约市没有甲骨文这样的公司的审计记录,而纽约市是纽约市,我就收到甲骨文

这让我非常困惑,因为ORM似乎是为正关系设计的,比如“表A中的项目在表B中有记录”,而这恰恰相反。 有没有关于如何进行此操作的线索?

您可以使用以下选项进行筛选:

Company.objects.exclude(logs\u city=my\u city)

因此,对于给定的
my_city

您将保留不存在
Audited
公司,我假设可以有多个公司?是的,可以有多个公司,但我始终需要第一个公司,因为在这之后,我会将行添加到Audited(例如,Oracle纽约),因此,下次我要求下一家公司在纽约进行审计时,甲骨文将被忽略。表满后(例如,所有公司在纽约都有记录),我必须使用其他逻辑(在该城市审计的公司,日期最早),您应该从公司模型中删除id字段,因为django会自动创建一个。
Company.objects.exclude(logs__city=my_city)