如何在django中根据status=True排列数据

tmb3ates  于 2023-05-23  发布在  Go
关注(0)|答案(2)|浏览(118)

我想先显示status=True的卡,那么我如何在我的views.pytemplate中按状态排列它
这是我的views.py

def myItem(request):
    context = {}
    if Item.objects.filter(status=True).exists():
        context['data'] = Item.objects.all()#here i am taking all data but i want to arrange it so that which data have status=True will come first.
    else:
        context['data'] = Item.objects.all()
        context['data_false'] = True
    return render(request,'frontend/myeoffice.html',context)

下面是我的Template

{% for i in data %}
                    {% if i.status %}
                    <div class="col-xl-4">
                        <div class="card shadow-sm p-4">
                            <div class="card-header p-0 text-center">
                                <h2 class="title">{{i.name}}</h2>
                            </div>
                            <div class="content text-break p-2">
                                <p class="copy">{{i.description|truncatechars:100}}</p>
                            </div>
                            <div class="card-footer text-left p-0">
                                <button class="btn btn-primary m-3">View</button>
                            </div>
                        </div>
                    </div>
                    {% else %}
                    <div class="col-xl-4">
                        <div class="card shadow-sm p-4" data-toggle="modal" data-target=".bd-example-modal-lg" style="background: #ccc;">
                            <div class="card-header p-0 text-center">
                                <h2 class="title">{{i.name}}</h2>
                            </div>
                            <div class="content text-break p-2">
                                <p class="copy">{{i.description|truncatechars:100}}</p>
                            </div>
                            <div class="card-footer text-left p-0">
                                <button class="btn btn-primary disabled m-3" data-toggle="modal" data-target=".bd-example-modal-lg">
                                    View
                                </button>
                            </div>
                        </div>
                    </div>
                    {% endif %}
                    {% endfor %}

注意:我想要status=False和status=True的数据,但顺序应该是True在前,False在后

83qze16e

83qze16e1#

您希望对查询执行此操作,以获取status为True的结果中的第一个结果。

context['data'] = Item.objects.filter(status=True).first()

这将为您提供具有此状态的第一个结果。或者,如果您想要所有结果并按状态排序,请执行以下操作:

context['data'] = Item.objects.all().order_by('-status')
xcitsw88

xcitsw882#

您可以通过order函数排列结果:

def myItem(request):
    context = Item.objects.all().order_by('-status')
    return render(request,'frontend/myeoffice.html',context)

-status中的-用于颠倒顺序。

相关问题