过滤django-reversion返回的结果

时间:2012-09-03 19:15:43

标签: python django django-reversion

刚开始使用来自django-reversion的民意调查应用程序django tutorial。为了实现这一点,我所做的就是使用以下代码创建mysite/polls/admin.py

from django.contrib import admin
from polls.models import Poll
import reversion
#admin.site.register(Poll)
class PollAdmin(reversion.VersionAdmin):
    pass
admin.site.register(Poll, PollAdmin)

换句话说,我只做了Admin Integration。在Poll模型中,我添加了一个名为approved的字段。

one_object = Poll.objects.all()[1]
version_list = reversion.get_unique_for_object(one_object)

上面的version_list包含one_object的所有版本。我只想获得approved==True的所有版本。然后,我希望将结果显示在视图中,以便只显示已批准的民意调查。我该如何过滤这个?

1 个答案:

答案 0 :(得分:0)

每个版本对象都有一个field_dict属性,其中包含该版本对象字段的值。因此,您可以按如下方式过滤列表:

filtered_versions = [v for v in version_list if v.field_dict["approved"] ==  True]