django - 在 Django 中对相关对象进行排序

标签 django django-models

我有 2 个模型类别和项目。项目具有对类别的引用。

class Category(models.Model):
    name = models.CharField(max_length=32)

class Item(model.Models):
    name = models.CharField(max_length=32)
    category = models.ForeignKey(Category)
    sequence = models.IntegerField()

序列字段应该捕获类别中项目的序列。

我的问题是: 我需要在类别和/或项目上设置哪些元选项,以便当我这样做时:

category.item_set.all()

我得到的项目按其序列号排序。

PS:我现在知道一个名为 ordering_with_respect_to 的元选项..但仍不清楚它是如何工作的,而且我在序列列中有遗留数据。如果正确的方法需要的话,我对数据迁移持开放态度。

最佳答案

您正在寻找的是:

class Item(model.Models):
    name = models.CharField(max_length=32)
    category = models.ForeignKey(Category)
    sequence = models.IntegerField()

    class Meta:
        ordering = ['sequence',]

这将确保Item始终按序列排序。

关于django - 在 Django 中对相关对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099370/

相关文章:

Django脆皮表单未加载CSS

python - Django "set_password()"函数不工作

python - 在 ReportLab 生成的 PDF 中包含 base64 编码的图像

去年同一周 Django 查询

mysql - 数据库设计 : storing full transaction history AND quick lookup of current status?

python - Django:外键数据的总值(value)

python - Django 中意外的日期时间格式

python - Django 自定义表单字段初始数据

python - 使用月份过滤器时 Django 错误

python - Django 在单个查询集中组合外键