Django:如何选择具有相同字段值的对象?

Dat*_*eed 2 django django-models

例如,我有一个这样的模型:

Class Doggy(models.Model):
    name = models.CharField(u'Name', max_length = 40)
    color = models.CharField(u'Color', max_length = 20)
Run Code Online (Sandbox Code Playgroud)

如何选择相同颜色的小狗?或同名:)

UPD。当然,我不知道名字或颜色。我想..有点,按他们的价值观分组。

UPD2。我正在尝试做类似的事情,但是使用Django:

SELECT * 
FROM table 
WHERE tablefield IN ( 
 SELECT tablefield
 FROM table 
 GROUP BY tablefield  
 HAVING (COUNT(tablefield ) > 1) 
) 
Run Code Online (Sandbox Code Playgroud)

UPD3。我想通过Django ORM进行操作,而不必遍历对象。我只想获取一个特定字段具有重复值的行。

小智 5

我参加晚会很晚,但是您去了:

Doggy.objects.values('color', 'name').annotate(Count('pk'))
Run Code Online (Sandbox Code Playgroud)

这将为您提供按颜色和名称分组的每只狗的数量的结果。