【发布时间】:2016-05-09 15:48:01
【问题描述】:
我正在尝试创建序列化类,它将返回属于特定用户的所有电子邮件地址,但我不知道如何实现,因为在 django-allauth 中,emailaddress_set 链接到 User 模型。我想要这个的原因很清楚 - 我想显示一个可以更改电子邮件地址的 AJAX 表单(我正在使用 AngularJS)。
回到主题 - 我正在考虑这样的事情,但显然它不会起作用:
from django.contrib.auth import get_user_model
from rest_framework import serializers
UserModel = get_user_model()
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = UserModel
fields = '__all__'
class EmailSerializer(serializers.ModelSerializer):
class Meta:
model = UserModel.emailadress_set
fields = '__all__'
这就是django-allauth 中电子邮件地址类的组成方式:
class EmailAddress(models.Model):
user = models.ForeignKey(allauth_app_settings.USER_MODEL,
verbose_name=_('user'))
email = models.EmailField(unique=app_settings.UNIQUE_EMAIL,
max_length=254,
verbose_name=_('e-mail address'))
verified = models.BooleanField(verbose_name=_('verified'), default=False)
primary = models.BooleanField(verbose_name=_('primary'), default=False)
objects = EmailAddressManager()
【问题讨论】:
标签: python django django-rest-framework django-allauth