OneToOneField
この構造の を使用して、ユーザー プロファイルを持つカスタム User モデルを使用しています。
email
password
profile : {
username
avatar
}
基本的にjsonを送受信するだけなので、モバイルではかなりうまく機能しますが、htmlでjsonのようなデータを送信する方法がないため、WebサイトでAPIを使用しているときはいつでも問題になります。 ajaxを使用しない「プロファイル」フィールド。
プレーンな html フォームを使用し、登録などの批評機能には使用せずに、クライアントの検証とアニメーションにのみ JavaScript を使用する可能性があることを望みます。
次の構造を使用して、プロファイル サーバー側の辞書を再構築することもできますが、十分に一般的ではないと感じています。
email
password
username
avatar
UserSerializer.py
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
profile = ProfileSerializer(required=True)
class Meta:
model = get_user_model()
fields = ('id', 'email', 'password', 'date_joined', 'profile')
def create(self, validated_data):
#profile_data = validated_data.pop('profile')
password = validated_data.pop('password')
user = get_user_model().objects.create_user(**validated_data)
user.set_password(password)
#user.save()
print(user)
#print(profile_data
ProfileSerializer.py
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ('username',)
したがって、json とフォーム データのどちらを使用していても、プロファイル (オブジェクト) データを待っていることは明らかです。HTML形式でできるようにしたいです。
これにどのようにアプローチすべきか考えていますか?