Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-Allauth过滤器“;电邮地址;管理中_Django_Django Allauth - Fatal编程技术网

Django-Allauth过滤器“;电邮地址;管理中

Django-Allauth过滤器“;电邮地址;管理中,django,django-allauth,Django,Django Allauth,我在用django allauth我有个问题。为了为我的用户模型筛选adminsite中的数据,我使用以下代码: def get_queryset(self, request): qs = super(UserAdmin, self).get_queryset(request) if request.user.is_superuser: return qs return qs.filter(profile__country=request.user.pro


我在用django allauth我有个问题。为了为我的用户模型筛选adminsite中的数据,我使用以下代码:

def get_queryset(self, request):
    qs = super(UserAdmin, self).get_queryset(request)
    if request.user.is_superuser:
        return qs
    return qs.filter(profile__country=request.user.profile.country)
它允许adminusers(而非超级用户)仅查看其所在国家/地区用户的表格。

我还想过滤allauth创建的名为“Accounts”->“Email Addresses”的标准列中的数据,但我不知道这将是哪个queryset。如果你给我小费,我将不胜感激

祝你们今天愉快

这里的解决方案:->

admin.py如下所示:

from allauth.account.models import EmailAddress
from allauth.account.admin import EmailAddressAdmin


class CustomAllauthAdmin(EmailAddressAdmin):

    def get_queryset(self, request):
        qs = super(EmailAddressAdmin, self).get_queryset(request)
        if request.user.is_superuser:
            return qs
        return qs.filter(user__profile__country=request.user.profile.country)

admin.site.unregister(EmailAddress)
admin.site.register(EmailAddress, CustomAllauthAdmin) 

由于它是第三方应用程序,您首先需要在自己的admin.py中覆盖它的admin。请检查答案以获取示例

至于queryset,您可以检查allauth模型中的EmailAddress模型。它使用“用户”字段链接到用户。因此,您可以这样链接查询:

 qs = super(EmailAddressAdmin, self).get_queryset(request)
    if request.user.is_superuser:
        return qs
    return qs.filter(user__profile__country=request.user.profile.country)

由于它是第三方应用程序,您首先需要在自己的admin.py中覆盖它的admin。请检查答案以获取示例

至于queryset,您可以检查allauth模型中的EmailAddress模型。它使用“用户”字段链接到用户。因此,您可以这样链接查询:

 qs = super(EmailAddressAdmin, self).get_queryset(request)
    if request.user.is_superuser:
        return qs
    return qs.filter(user__profile__country=request.user.profile.country)

由于它是第三方应用程序,您首先需要在自己的admin.py中覆盖它的admin。请检查答案以获取示例

至于queryset,您可以检查allauth模型中的EmailAddress模型。它使用“用户”字段链接到用户。因此,您可以这样链接查询:

 qs = super(EmailAddressAdmin, self).get_queryset(request)
    if request.user.is_superuser:
        return qs
    return qs.filter(user__profile__country=request.user.profile.country)

由于它是第三方应用程序,您首先需要在自己的admin.py中覆盖它的admin。请检查答案以获取示例

至于queryset,您可以检查allauth模型中的EmailAddress模型。它使用“用户”字段链接到用户。因此,您可以这样链接查询:

 qs = super(EmailAddressAdmin, self).get_queryset(request)
    if request.user.is_superuser:
        return qs
    return qs.filter(user__profile__country=request.user.profile.country)

您希望他们只能看到自己国家/地区用户的电子邮件地址吗?是,例如,只能看到自己国家/地区用户的电子邮件地址。您希望他们只能看到自己国家/地区用户的电子邮件地址吗?是,例如,只能看到自己国家/地区用户的电子邮件地址。您希望他们只能看到自己国家/地区用户的电子邮件地址国家/地区?是,例如,仅限其本国的用户。您希望他们只能查看其本国用户的电子邮件地址吗?是,例如,仅限其本国的用户。