Django - 在模型中聚合相等的字段值

时间:2016-04-03 18:05:22

标签: python django aggregation

我有用户活动的活动日志,基本结构如下:

class ActivityLog(TimeStampedModel):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    action_type = models.CharField(max_length=25)
    object_raw = models.CharField(max_length=500)

我想聚合object_raw匹配的所有条目,即如果用户搜索了&f; foo'在4个不同的场合,我得到一个条目为&f; foo',其中count = 4。我现在无法做到这一点。我知道如何在sql中做到这一点,但不了解django语法。我一直在阅读文档,但我仍然没有得到它。如果有人可以提供帮助,我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

要获得一个包含column.setFieldUpdater(new FieldUpdater<Auction, String>() { @Override public void update(int index, Auction object, String value) { // The user clicked on the button for the passed auction. } }); 的对象以及有多少个对象'foo',您可以这样做:

object_raw='foo'

如果您只想要有activity_logs = ActivityLog.objects.filter(object_raw='foo') if activity_logs.exists(): activity_logs.first() # get one object activity_logs.count() # get number of objects 个对象,可以conditional expressions使用aggregates

object_raw='foo'