更新相关字段

时间:2013-05-31 06:05:17

标签: django-rest-framework

我一直在试着弄清楚如何用django rest框架做下面的事情。我有一个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,它会更新用户模型,但不会更新 UserProfile 模型。我到服务器的有效负载是正确的,没有报告错误,但它不保存用户配置信息。

我有什么问题吗?

0 个答案:

没有答案