Django管理操作:“QuerySet”对象没有属性“user”

2024-10-02 00:21:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在进行一个管理操作,试图接受一个Request_Invite的关联用户并将其标记为活动。在

这是我的管理员py:

def activate_user(modeladmin, reqeust, queryset):
    queryset.user.update(active=True)
    queryset.update(accepted=True)
activate_user.short_description = "Mark User as Active"

class Request_InviteAdmin(admin.ModelAdmin):
    list_display = ['user', 'accepted']
    ordering = ['user']
    actions = [activate_user]
    class Meta:
        model = Request_Invite

admin.site.register(Request_Invite, Request_InviteAdmin)

模型.py:

^{pr2}$

尝试在管理后端运行操作时,我收到错误:

'QuerySet' object has no attribute 'user'

它指的是queryset.user.update(active=True)

我很难理解如何正确地查询关联的user,并在admin action函数中将其标记为active。在


Tags: 用户py标记trueadminrequestupdateinvite
2条回答

这行吗?在

for q in queryset:
    q.user.is_active = True
    q.user.save()
queryset.update(accepted=True)

ZZY的回答是正确的,他应该得到赞扬,但我不知道user的属性必须是is_active而不是{}。根据问题本身,我想他也不知道。在

完整答案如下:

for q in queryset:
    q.user.is_active = True
    q.user.save()
queryset.update(accepted=True)

相关问题 更多 >

    热门问题