我有以下型号:
class CompanyGroup(models.Model):
name = models.CharField(max_length=64, unique=True)
class Company(models.Model):
name = models.CharField(max_length=255, db_index=True)
groups = models.ManyToManyField(CompanyGroup, related_name='groups', blank=True)
我想显示添加到群组中的最新公司。我这样做的方法如下:
companies = Company.objects.filter(
groups__name=group_name
).order_by('-groups__id')
当我打印sql时,它是按company_group_id而不是companies_company_groups的ID排序的:
ORDER BY `companies_company_groups`.`companygroup_id` ASC
我希望其订购依据:
ORDER BY `companies_company_groups`.`id` ASC
我该怎么做?
答案 0 :(得分:0)
您可以像这样访问直通模型。
Company.groups.through.objects.all().order_by('-id')
这将查询由多对多关系生成的表。希望对您有所帮助。