Python 如何在管理更新方法中从Django queryset提取id?

Python 如何在管理更新方法中从Django queryset提取id?,python,django,django-admin,django-queryset,mptt,Python,Django,Django Admin,Django Queryset,Mptt,在Django管理员中更新对象时,我需要获取对象的id 我尝试了get(),并使用vars(queryset)打印了queryset,但似乎无法分离出所需的值 我试过反复讨论,但没有用。我应该提到我正在使用MPTT,所以它是一个TreeQuerySet。但我认为这无关紧要 在admin.py中: class JokeAdmin(MPTTModelAdmin, ImportExportModelAdmin): ... ... def reviewed_approved(s

在Django管理员中更新对象时,我需要获取对象的
id

我尝试了
get()
,并使用vars(queryset)打印了queryset,但似乎无法分离出所需的值

我试过反复讨论,但没有用。我应该提到我正在使用MPTT,所以它是一个
TreeQuerySet
。但我认为这无关紧要

在admin.py中:

class JokeAdmin(MPTTModelAdmin, ImportExportModelAdmin):

    ...   ...


    def reviewed_approved(self, request, queryset):
        queryset.update(reviewed=True, approved=True)
        print(vars(queryset))
这是输出:

{'model': class 'blog.models.Joke','_db': None,'_hints': {},'query': <django.db.models.sql.query.Query object at 0x033404D0>, '_result_cache': None, '_sticky_filter': False, '_for_write': True, '_prefetch_related_lookups': (), '_prefetch_done': False, '_known_rel
ated_objects': {}, '_iterable_class': class 'django.db.models.query.ModelIterable', '_fields': None}
{'model':class'blog.models.Joke','u db':None,'u hints':{},'query':,'u result\u cache':None,'u sticky\u filter':False,'u for\u write':True,'u prefetch\u related\u lookup':(),'u prefetch\u done':False,'u known\u rel
ated_objects':{},_iterable_class':class'django.db.models.query.ModelIterable','u fields':None}

我意识到我可以从请求中获取对象id:

        id = request.POST.get('_selected_action')