2015-09-07 58 views
0

我在我的django网站上有一些消息传递系统的模型。Django按照最新相关模型创建的管理命令

class Enquiry(models.Model): 
    etc... 

class Message(models.Model): 
    enquiry = models.ForeignKeyField(Enquiry) 
    sent_at = models.DateTimeField(default=timezone.now) 
    etc... 

每条消息都有一个外键用于查询。在管理网站中,我希望能够通过最近收到的消息来订购查询。在常规的观点,我可以这样做:

Enquiry.objects.annotate(latest_message=Max('message__sent_at')).order_by('-latest_message') 

有没有办法在管理框架,以实现这一目标?

回答

0

您可以覆盖模型管理员的get_queryset方法,并使用已在视图中工作的相同方法。

我的第一个建议是尝试为您的模型管理员设置排序,但是您报告它不起作用。

class EnquiryAdmin" 
    ordering = ['-message__sent_at'] 
+0

第一个似乎没有工作,但get_queryset会做到这一点。谢谢 – lac

相关问题