django-allauth - RESTful API返回属于用户的所有电子邮件地址

时间:2016-05-09 07:16:27

标签: python django django-rest-framework django-allauth

我正在尝试制作序列化类,该类将返回属于特定用户的所有电子邮件地址,但我不知道如何实现这一点,因为在django-allauth中,emailaddress_set已链接到{ {1}}模型。我想要这个的原因很明显 - 我想显示一个AJAX表单(我正在使用AngularJS),其中可以更改电子邮件地址。
回到主题 - 我正在考虑这样的事情,但显然它不会起作用:

User

这就是电子邮件地址的类别包含在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

1 个答案:

答案 0 :(得分:2)

希望这会起作用

class EmailSerializer(serializers.ModelSerializer):
    user_info = serializers.RelatedField(source='usermodel', read_only=True)

    class Meta:
        model = EmailAddress
        fields = ('id', 'email', 'user_info')