考慮以下車型的不同數量:Django的計算相關的示範
class Publisher(models.Model):
name = models.CharField(max_length=300)
num_awards = models.IntegerField()
class Book(models.Model):
name = models.CharField(max_length=300)
pages = models.IntegerField()
publisher = models.ForeignKey(Publisher, related_name='related_books')
從Publisher
比如我怎樣才能得到書的數量由不同的價值上pages
場?例如:
| name | pages | publisher |
|-----------|-------|-----------|
| Golden | 20 | 1 |
| Grey | 23 | 1 |
| Blue | 20 | 1 |
| Grotesque | 27 | 2 |
如果我有publisher = Publisher.objects.get(id=1)
我怎麼能做到這樣的事:
# equals to 2 [Golden, Grey]
publisher.related_books.all().distinct('pages').count()
所以,「等於2金,藍」是預期的輸出? – ppalacios 2015-02-09 00:20:52
@PabloPalácios,抱歉,我的意思是金色和灰色。修復。 – norbertpy 2015-02-09 00:21:47
其實現在事情變得更糟了。你想知道有多少書與不同的網頁?我的意思是,爲什麼灰色應該返回2? – ppalacios 2015-02-09 00:31:16