2010-04-28 112 views
0

当为django.contrib.comments创建您自己的管理员类时,我想允许排序标记的评论。我可以通过一个自定义方法返回comment.flags.count()的管理类,但不确定是否让管理员按此排序。Django列表管理员允许排序反向外键

我看到的问题是它的CommentFlag模型包含注释模型的外键。

任何人都知道不改变的解决方案django.contrib.comments

+0

http://pastebin.com/3pqtdyLG – 2010-04-28 18:26:32

回答

0
def queryset(self, request): 
     qs = super(CommentsAdmin, self).queryset(request) 
     return qs.extra(select={ 
      'flag_count': 'SELECT COUNT(*) FROM django_comment_flags WHERE django_comment_flags.comment_id = django_comments.id' 
      },) 

def flags(self): 
    return self.flags.count() 
flags.admin_order_field = 'flag_count' 

它有点乱,但Django的抱怨flag_count是不是当你注册管理模型注释的访问。