Queryset Django Show Object一次

时间:2015-01-13 17:26:03

标签: python django filter django-queryset

我有一个关于使用django进行查询的问题。 我正在过滤我的查询, 但是在他们中很少有他们有一个以上的信息。

例如

class Teacher(models.Model):
    teacher_id = ....
    language = models.ForeignKey(Language)

class Language(models.Model):
    language_id = ....
    language = ....

现在我从数据库中的教师和语言中获得了一些对象

老师1有很多信息,他可以说3种语言。 是否有这个ForeignKey确定,或者我应该使用ManyToManyField? (这不是最后的问题)

我现在可以搜索一些老师,我有一个表格,我可以在那里提供一些对我很重要的信息。

有点像,我正在寻找一位能说英语和法语的老师。

我在我的视图中有这个

query = Teacher.object.all()
q = Q(is_active=True)

    language = request.POST.getlist('language', [x.language_id for x in Language.objects.all()])
    if language:
       q &=Q(language__in=language)

现在我正在使用Paginator,

paginator = Paginator(query.filter(q), items_per_page)

现在我在这里遇到了问题,

我的过滤器现在显示所有教师的语言法语和英语,但现在2次。

我想只展示一次所有物品..

我做了什么?

我希望你明白,我的意思。

0 个答案:

没有答案