2016-05-31 8 views
2

私はDRFを使用していますが、このTypeErrorを入れ子にした直列化で取得します。私はDocumentationを読んだが、私はまだ私の問題を解決することはできません。Django Rest Framework: 'estado'はこの関数の無効なキーワード引数です

モデル:

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" モデルを作成しようとしています。

答えて

2

これはテストしませんでしたが、おそらくestadoのrelated_nameを設定する必要があります。

estado = models.ForeignKey(Estado, related_name='estado') 
関連する問題