Я новичок в области Django, но вижу, что там много "волшебства". Я использую Django REST Framework и создаю приложение, которое позволит бесплатную регистрацию пользователя. Моему пользователю нужны дополнительные поля, недоступные пользователю Django. Таким образом, я googled для расширения пользователя. Существует идея, что это нужно сделать, создав что-то вроде этого
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" - это новое настраиваемое поле. Сериализатор не понимает, что он должен заглянуть в модель пользователя.
Что мне здесь не хватает? Как сказать этому сериализатору, что я хочу, чтобы некоторые поля внутри Пользователя? Мне также нужно быть в состоянии создать пользователя.