【发布时间】:2015-04-17 14:59:05
【问题描述】:
我能够扩展用户模型字段,并且我可以看到带有这些字段和输入的 API 浏览器,但是当我尝试发布新用户时出现此错误:
'signup' is an invalid keyword argument for this function
或者如果我更改了 serializers.py
User.objects.create(**validated_data)
到
SignUp.objects.create(**validated_data)
我明白了
'username' is an invalid keyword argument for this function
serializers.py
from rest_framework import serializers
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
city = serializers.CharField(source='signup.city')
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'city')
def create(self, validated_data):
return User.objects.create(**validated_data)
models.py
from django.contrib.gis.db import models
from django.contrib.auth.models import User
class SignUp(models.Model):
user=models.OneToOneField(User, primary_key=True)
city = models.CharField(max_length=50, blank=True)
def __unicode__(self):
return self.first_name
【问题讨论】:
标签: django api rest django-rest-framework