簡體   English   中英

如何在相關模型中按查詢集排序查詢集

[英]How to order queryset by queryset in related model

在視圖中,我需要對項目進行排序,以便將具有票證分配給當前用戶的項目排在第一位。 我對如何執行此操作感到有些困惑。 Django的ORM是否可能? 任何幫助表示贊賞! 謝謝!

型號

class Project(TimeStampedModel):
    title = models.CharField(max_length=200)
    created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True)

class Ticket(TimeStampedModel):
    title = models.CharField(max_length=200)
    description = models.TextField(blank=True)
    project = models.ForeignKey(Project, related_name="tickets")
    created_by = models.ForeignKey(
    settings.AUTH_USER_MODEL, null=True, related_name="created_tickets")
    assignees = RelatedSetField(
    settings.AUTH_USER_MODEL, related_name="tickets")

您可以檢查是否有分配給當前用戶的用戶,先顯示這些用戶,然后將其彈出查詢集。 然后顯示查詢集的其余部分。

偽代碼:

tickets = Tickets.objects.all()
users_tickets = list()
for ticket in tickets:
    if current_user in ticket.assignees:
        users_tickets.append(ticket)
        tickets.pop(ticket)
tickets = users_tickets + tickets

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM