How to left outer join with extra condition in Django
问题 I have these three models: class Track(models.Model): title = models.TextField() artist = models.TextField() class Tag(models.Model): name = models.CharField(max_length=50) class TrackHasTag(models.Model): track = models.ForeignKey('Track', on_delete=models.CASCADE) tag = models.ForeignKey('Tag', on_delete=models.PROTECT) And I want to retrieve all Tracks that are not tagged with a specific tag. This gets me what I want: Track.objects.exclude(trackhastag__tag_id='1').only('id') but it's very