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