1
私は特定のユーザに属するすべてのメールアドレスを返すシリアライゼーションクラスを作成しようとしていますが、それを達成する方法はわかりません。django-allauth
、 emailaddress_set
は、User
モデルにリンクされています。私がこれを望むのは明らかです - 私はAJAXフォーム(私はAngularJSを使用しています)を表示したい場合は、Eメールアドレスを変更することができます。
トピックに戻る - 私はこのような何かを考えていたが、明らかにそれは動作しません:django-allauth - RESTful APIは、ユーザに属するすべてのメールアドレスを返します
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()
クラスのおかげで、それは 'user_info'フィールドなしでも動作します! – MikiSoft