我的应用程序上有活动流,我想在行中只显示一个相同类型的字段活动。例如,当用户添加3条评论,然后添加文章,接下来我希望在活动流3条目中有3条评论。但是我必须在每个活动的数据库中存储单独的字段,以便根据需要进行更精确的活动。
class ActivityStream(models.Model):
type = models.CharField(max_length=10)
created = models.DateTimeField(auto_now_add=True)
换句话说,我在ActivityStream
上有一些活动,每个活动都设置了类型和创建日期。我需要查询它(按创建日期排序),但是对于具有相同类型的分组活动,并且只有在它们之间没有其他类型的活动时才会查询。
数据库中的示例数据:
+----------------+---------------------+
| type | created |
+----------------+---------------------+
| comment | 2014-05-21 22:33:39 |
| comment | 2014-05-21 22:35:43 |
| article | 2014-05-22 11:17:11 |
| article | 2014-05-22 12:23:37 |
| comment | 2014-05-22 12:27:11 |
| comment | 2014-05-22 12:29:33 |
| comment | 2014-05-22 12:37:01 |
| comment | 2014-05-22 13:04:14 |
| article | 2014-05-22 14:44:11 |
| comment | 2014-05-23 17:51:17 |
| article_delete | 2014-05-23 17:55:17 |
| comment | 2014-05-27 9:37:01 |
+----------------+---------------------+
我想从queryset获得什么:
[
{'type': u'comment', 'created': datetime(2014, 5, 21, 22, 35, 43), 'count': 2},
{'type': u'article', 'created': datetime(2014, 5, 22, 12, 23, 37), 'count': 2},
{'type': u'comment', 'created': datetime(2014, 5, 22, 13, 4, 14), 'count': 4},
{'type': u'article', 'created': datetime(2014, 5, 22, 14, 44, 11), 'count': 1},
{'type': u'comment', 'created': datetime(2014, 5, 23, 17, 51, 17), 'count': 1},
{'type': u'article_delete', 'created': datetime(2014, 5, 23, 17, 55, 17), 'count': 1},
{'type': u'comment', 'created': datetime(2014, 5, 27, 9, 37, 1), 'count': 1},
]
有没有办法在django中使用queryset?