1

django チュートリアルの Polls アプリケーションでdjango-reversion の使用を開始しました。これを機能させるには、次のコードを作成するだけでした。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)

言い換えれば、私は管理統合のみを行っています。Poll モデルに、 というフィールドを追加しましたapproved

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

上記version_listには、 のすべてのバージョンが含まれていますone_object。があるすべてのバージョンを取得したいだけですapproved==True。次に、承認された投票のみを表示できるように、結果をビューに表示します。これをフィルタリングするにはどうすればよいですか?

4

1 に答える 1

0

各バージョン オブジェクトには、field_dictそのバージョンでのオブジェクトのフィールドの値を含む属性があります。したがって、次のようにリストをフィルタリングできます。

filtered_versions = [v for v in version_list if v.field_dict["approved"] ==  True]
于 2012-12-29T16:35:16.940 に答える