0

私は、django restフレームワークで以下を行う方法を理解しようとして、髪を引っ張ってきました。user テーブルに結び付けられた外部キーを持つ userprofile モデルがあります。

class UserProfile(models.Model):
    role = models.CharField(max_length=255, verbose_name='Role', choices=(('Administrator', 'Administrator'), ('User', 'User'), ('Warehouse Staff', 'Warehouse Staff')))
    adwebsite = models.ManyToManyField('ads.AdWebsite', null=True, blank=True)
    user = models.OneToOneField(User, editable=False, related_name='profile')

次のシリアライザーを使用しています。

class UserProfileSerializer(serializers.ModelSerializer):
    adwebsite = serializers.PrimaryKeyRelatedField(many=True)

    class Meta:
        model = UserProfile
        fields = ('role', 'mobile', 'phone', 'adwebsite', 'terms_and_conditions')


class UserSerializer(serializers.HyperlinkedModelSerializer):
    groups = serializers.PrimaryKeyRelatedField(many=True)

    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups', 'first_name', 'last_name', 'is_active', 'is_staff', 'profile')
        depth = 1

GET リクエストを実行すると、プロファイル関係からすべての情報を取得できます。PUT を実行すると、Userモデルは更新されますが、UserProfileモデルは更新されません。サーバーに送信されるペイロードは正しく、エラーは報告されませんが、ユーザー プロファイル情報は保存されません。

私が間違っていることはありますか?

4

0 に答える 0