django admin覆盖查询集以仅获取重复的最后记录

时间:2016-11-11 16:33:50

标签: python django django-admin django-queryset

我试图覆盖django管理模型查询集,这样我只能得到重复列表中的最后一条记录。已经尝试过这两种方式:

class MyModelAdmin(admin.ModelAdmin):

def get_queryset(self, obj):
    qs = super(MyModelAdmin, self).get_queryset(obj)
    return qs.order_by('process', '-modified_at').distinct('process')

或者:

class MyModelAdmin(admin.ModelAdmin):
   qs = super(ResponsibleStateFlowAdmin, self).get_queryset(obj)
   qs = qs.extra(where=[
            "SELECT * FROM MyModel GROUP BY process ORDER BY modified DESC"
        ])
   return qs

但是两个都抛出错误....我为django尝试了不同的sintax并且也失败了,而我在这里看到的其他帖子并不完全符合我的需要。

我更新了我的模型:

class MyModel(ModelBase):

    user = models.ForeignKey(
         User, 
         verbose_name = 'Responsible',
         blank = False)
    process= models.ForeignKey(Process, verbose_name = 'Process')

有什么想法?,提前谢谢!

0 个答案:

没有答案