如何在ORM中为模型实现保存优先级,然后在视图中获得具有最高优先级的对象?

时间:2017-03-20 07:25:15

标签: django django-orm

我正在使用Django构建应用程序,但是django ORM遇到了问题。

我们有一个与某个用户相关的模型。我后来需要以最高优先级获取此模型的所有对象。因此,如果我必须使用相同的对象,我需要获得具有最高优先级的对象。如何在数据库中实现保存优先级,然后在视图中获取具有最高优先级的对象?它必须如此简单,但我不知道

1 个答案:

答案 0 :(得分:0)

models.py 文件中,您可以编写如下内容:

from django.db import models

class MyModel(models.Model):

    PRIORITY_CHOICES = (
        (0, 'Low'),
        (1, 'Normal'),
        (2, 'High'),
    )

    priority = models.IntegerField(null=True,
                                   choices=PRIORITY_CHOICES,
                                   default=PRIORITY_CHOICES[0][0],)

views.py 文件中,您可以编写如下内容:

from .models import MyModel
from django.shortcuts import render

def my_view(request):
    context = {
        'details': MyModel.objects.order_by('-priority')
    }
    return render(request, 'my_template.html', context=context)

order_by(' -priority')表示我们需要按降序对详细信息进行排序。

my_view 附加到 urls.py 文件,您就可以了。