我正在使用DRF,我得到了带有嵌套序列化的TypeError。我看过Documentation,但我仍无法解决问题。
型号:
class Estado(models.Model):
estado = models.CharField(max_length=100, blank=True)
def __unicode__(self):
return self.estado
class Municipio(models.Model):
estado = models.ForeignKey(Estado)
municipio = models.CharField(max_length=100, blank=True)
def __unicode__(self):
return self.municipio
class Usuario(models.Model):
user = models.OneToOneField(User)
estado = models.ForeignKey(Estado)
municipio = models.ForeignKey(Municipio)
donador = models.BooleanField(default=False)
def __unicode__(self):
return self.user.username
串行器:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'password', 'email')
class UsuarioSerializer(serializers.ModelSerializer):
user = UserSerializer()
class Meta:
model = Usuario
fields = ('id', 'user', 'estado', 'municipio')
def create(self, validated_data):
profile_data = validated_data.pop('user')
user = User.objects.create(**validated_data)
Usuario.objects.create(user=user, **profile_data)
return user
我正在尝试创建一个用户个人资料的“Usuario”模型。
答案 0 :(得分:2)
没有对此进行测试,但您可能需要为estado设置related_name。
estado = models.ForeignKey(Estado, related_name='estado')