【问题标题】:Django select distinctDjango选择不同的
【发布时间】:2011-04-11 13:10:21
【问题描述】:

models.py

class Category(models.Model):
    name = models.CharField(max_length=50)

    def __unicode__(self):
        return self.name

class Gender(models.Model):
    name = models.CharField(max_length=50)

    def __unicode__(self):
        return self.name

class Post(models.Model):
    name = models.CharField(max_length=50)
    categories = models.ManyToManyField(Category)
    genders = models.ManyToManyField(Gender)

    def __unicode__(self):
        return self.name

view.py:

def index(request):
    posts = Post.objects.filter(genders=1)

    categories = Category.objects.filter(post__genders=1)
                                 .exclude(post=None).order_by('-sort')

如果有 3 个帖子的性别等于 1,为什么我会得到 3 次相同的类别?我只需要第 1 类我选择的时间,比如“选择不同” - 我该怎么做??

【问题讨论】:

    标签: django django-orm


    【解决方案1】:

    您是否尝试将.distinct() 附加到查询集?

    categories = Category.objects.filter(post__genders=1).exclude(post=
          None).order_by('-sort').distinct()
    

    【讨论】:

    • 非常感谢! :D ... 很简单 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 2012-03-20
    • 2011-03-29
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多