我是Django领域的新手,但看到这里有很多“魔术”。我正在使用Django REST Framework并创建允许免费用户注册的应用程序。我的用户需要一些Django用户不可用的附加字段。所以我google扩展用户。有一个想法,这应该通过建立这样的事情Django REST框架创建自定义用户
class MyUser(models.Model):
user = models.ForeignKey(User, unique=True)
city = models.CharField(max_length=50, blank=True, default='')
这是不错,但我有这个串行
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = MyUser
fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'city')
那么做,问题是,这串做一些“神奇”在这里。它试图找出应该模型有哪些字段... 我想让用户在这里列出的字段,这些字段是在用户和'城市'是新的自定义字段。序列化程序没有得到它应该看用户模型。
缺少什么我在这里?如何告诉这个序列化程序,我想在用户内部的一些字段?我需要能够克里特用户。
你应该使用'OneToOneField'您的usermodel关系,而不是'ForeignKey',因为它们可以为每个'User'实例只能有一个'MyUser'。 –
使用'OneToOneField'并按照这个答案,你很好去:[链接](http://stackoverflow.com/a/28733782/3294412) – musicformellons