2013-05-15 5 views
0

나는 쿼리가 :결과 쿼리에서 중복을 제거하는 방법은 무엇입니까?

articles = Article.objects.filter(Q(owner=request.user)|Q(group__user=request.user)) 

을하지만,이 두 번 나에게 (문서 편집 그룹의 소유자 = 사용자 및 사용자)를 몇 가지 기사를 보여줍니다.

모델 :

class ProfileGroup(models.Model): 
    user = models.ManyToManyField(user) 
    name = models.CharField(max_length=100) 


class Article(models.Model): 
    title = models.CharField(max_length=200) 
    text = models.TextField() 
    group = models.ForeignKey(ProfileGroup) 
    owner = models.ForeignKey(user) 

방법 만이 아닌 중복 기사를 얻을?

답변

4

나는 별개의 QS 방법에 보일 것이다

https://docs.djangoproject.com/en/dev/ref/models/querysets/#distinct

예 :

Article.objects.filter(whatever).distinct('id') 
+0

참고 :이 필드에 대한 별개의 지원이 부족하기 때문에 MySQL은 작동하지 않습니다. –

+0

오, 좋은 지적입니다. 내가 Postgres를 독점적으로 사용하는 것을 나는 알지 못했다. –

관련 문제