django:如何在ManyToManyField(through)相关模型中的字段上排序查询集

Ahs*_*san 5 python sql django many-to-many django-queryset

我有这些模特

class Region (models.Model):
    name = models.CharField (max_length = 255, blank = False)

class Album(TimeStampAwareModel):
    title = models.CharField (max_length = 255, blank = False) 
    digital_release_date = models.ManyToManyField( Region, through="AlbumRegionReleaseDate", related_name="release_date_albums")
    published = models.BooleanField (default = False)
    .
    .

class AlbumRegionReleaseDate(models.Model):
   album = models.ForeignKey (Album)
   region = models.ForeignKey (Region)
   digital_release_date = models.DateField () 
   class Meta:
    ordering = ('-digital_release_date')
Run Code Online (Sandbox Code Playgroud)

假设我有三个地区:欧洲,南亚和北亚

现在我想通过"digital_release_date"在欧洲地区订购所有"已发布"的相册?

谁能告诉我如何通过SQL查询来做到这一点?

谢谢 :)

mar*_*chi 5

编辑:

抱歉,是我的错!现在这应该工作.我在家里试过......

Album.objects.filter(
    published=True,
    albumregionreleasedate__region__name='Europe'
).order_by(
    'albumregionreleasedate__digital_release_date'
)
Run Code Online (Sandbox Code Playgroud)

是对未来疑虑的一些帮助

希望它现在有效!