通过其外键Django

时间:2016-04-13 20:47:29

标签: python django python-3.x django-models

我想根据其外键字段订购模型。我在谷歌搜索ORM时找到了结果,但在此之前,我宣布了元类。他们展示了诸如

之类的东西
 units = Unit.objecwhere to lookts.filter(color='red').order_by('location__label')

但我想自动订购声明:

class Office(models.Model):
    objects = OfficeManager()
    id = models.IntegerField(db_column='office_id', primary_key=True)
    office = models.CharField(max_length=20)
    description = models.CharField(max_length=255)

    class Meta:
        db_table = 'tblOffices'
        ordering = ('office',)

    def __str__(self):
        return self.office


class OfficeCity(models.Model):
    office = models.ForeignKey(Office, db_column='tblOffices')
    name = models.CharField(max_length=255)

    class Meta:
        db_table = 'cities'
        ordering = ('office.description')

上述代码段是否正确,可以通过FK说明字段对这些城市进行排序?谢谢

附件是一个django学习者的演示"用小于或等于15秒的时间进行Google搜索"结束语。

enter image description here

enter image description here

请注意,在第二张图片中,django学习者可能会想要点击https://docs.djangoproject.com/en/1.9/ref/models/fields/并阅读整个26页(如果您要打印它),花几个小时重新学习他们有用的东西&#39已经阅读了,但肯定没有找到问题的答案,并且在15秒内用Google搜索#34;这导致人们相信,在15秒内用Google搜索它的人可能已经知道在哪里查看要查找的内容,这就是为什么花了15秒,但是对于学习者来说,找到答案需要几个小时。如果学习者没有实现这个功能,但只是好奇,那么Q& A论坛似乎是通过提出问题(Q部分)寻求答案(Q& A的A部分)的适当场所。让我们把自我留给脑外科医生们,我们知道,如果你已经这么做了30年,你就是专家,我们这些年龄只有你这一年的学习,这将是我们和#39;也是60。希望我们保持谦虚,但是......

1 个答案:

答案 0 :(得分:2)

class Meta:
    ordering = ('office__description',)