장고 영역에서는 새로운데 거기에는 많은 "마법"이 있습니다. 장고 REST 프레임 워크를 사용하고 있으며 무료 사용자 등록을 허용하는 앱을 만들고 있습니다. 내 사용자는 장고 사용자가 사용할 수없는 추가 필드가 필요합니다. 그래서 나는 사용자를 확장하기 위해 인터넷 검색을했습니다. 이이Django REST Framework 사용자 정의 사용자 만들기
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')
그래서이 시리얼을 가지고 뭔가를 만들어 수행해야한다는 생각이있다, 문제는이 시리얼 여기에 약간의 "마법"을 수행한다는 것입니다 . 그것은 어떤 필드가 모델해야하는지 알아 내려고합니다. 여기에 나열된 필드가있는 사용자를 갖고 싶습니다.이 필드는 User에 있고 'city'는 새로운 사용자 정의 필드입니다. Serializer는 사용자 모델 내부를 살펴 봐야하지 않습니다.
무엇이 여기에 있습니까? 사용자 내부에 일부 필드를 원한다는 것을이 serializer에 알려주는 방법은 무엇입니까? 나는 크레테 사용자도 할 수 있어야합니다.
당신은 당신의 UserModel 관계가 아닌'ForeignKey'에 대한'OneToOneField'를 사용해야합니다. –
'OneToOneField'를 사용하고이 대답을 따라하면됩니다. [link] (http://stackoverflow.com/a/28733782/3294412) – musicformellons