如何在admin更新方法中从Django queryset中提取ID?

时间:2019-02-15 06:25:24

标签: python django django-admin django-queryset mptt

我需要在Django Admin中更新对象的id

我尝试过get()并使用vars(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}

1 个答案:

答案 0 :(得分:1)

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

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