Django按外键字段排序

我有两个Model

class Business(models.Model):

    name = models.CharField(_("名称"), max_length=LEN_NORMAL, null=True)
    type = models.CharField(_("系统类别"), max_length=LEN_SHORT, choices=TYPE)
    is_access_cleanup = models.BooleanField(_("是否接入清理"), default=False)

class Database(models.Model):
  
    business = models.ForeignKey(Business, related_name="databases", on_delete=models.CASCADE)
    alias_name = models.CharField(_("服务名"), max_length=LEN_LONG, null=True)
    ip = models.GenericIPAddressField(_("数据库IP"))
    port = models.SmallIntegerField(_("端口"), default=1521)

现在想对Database进行排序

如果要根据字段ip进行倒序排序, 代码如下:

Database.objects.order_by('-ip')

更多请参考更多

现在我想根据Business中的is_access_cleanup子段对Database进行排序,
可以使用双下划线在排序子句中遵循关系

Database.objects.order_by('business__is_access_cleanup')
posted @ 2022-12-05 10:25  yingzi__block  阅读(116)  评论(0编辑  收藏  举报