在视图中,我需要订购项目,以便将具有分配给当前用户的票证的项目排在第一位。我对如何做到这一点感到有些困惑。是否可以使用Django的ORM?任何帮助赞赏!谢谢!
Models.py
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")
答案 0 :(得分:0)
您可以检查是否有任何分配给当前用户,首先显示这些并将其从查询集中弹出。然后显示查询集的其余部分。
伪代码:
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