【发布时间】:2020-03-04 06:53:46
【问题描述】:
我面临一个使用 django 序列化程序更新模型的问题。
这是我的模型:
class User(models.Model):
email = models.EmailField(unique=True)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class UserProfile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
designation = models.CharField(max_length=200, blank=True)
contact_number = models.CharField(max_length=20, blank=True)
team = models.CharField(max_length=200, blank=True)
manager = models.CharField(max_length=200, blank=True)
joining_date = models.DateField(default=datetime.now)
我需要创建一个序列化程序来编辑当前用户的个人资料详细信息。在此用户详细信息中,例如 designation、contact_number、team、manager、joining_date 位于 UserProfile 模型中,te first_name 和 last_name 位于 User 模型中...。一次编辑两个模型都需要更新
这是我的序列化器。
class UserSerializer(ModelSerializer):
class Meta:
model = User
fields = ('id', 'first_name','last_name')
class UserProfileSerializer(ModelSerializer):
user = UserSerializer()
class Meta:
model = UserProfile
fields = ('id', 'designation', 'contact_number', 'team', 'manager',
'joining_date','user')
def update(self, instance, validated_data):
user = validated_data.get('user')
instance.user.first_name = user.get('first_name')
instance.user.save()
return instance
我收到一个错误{ “用户”:[ “此字段是必需的。” ] }
【问题讨论】:
标签: django django-rest-framework