Как добавить поле 'mobile' в таблицу auth_user по умолчанию в модели User в django? - PullRequest
1 голос
/ 07 июня 2019

Я хочу добавить файл Mobile для сохранения в таблице auth_user при регистрации.

models.py

from django.db import models
from django.contrib.auth.models import User

class UserRegModel(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    mobile = models.CharField(max_length=100)

forms.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

class UserRegisterForm(UserCreationForm):
    mobile = forms.CharField(max_length=15)

    class Meta:
        model = User
        fields = ['username','email','mobile','password1','password2']

1 Ответ

1 голос
/ 07 июня 2019

Если вы хотите хранить все пользовательские данные вместе, вы должны заменить модель пользователя вместо создания отношения OneToOne. Судя по текущему коду, вы получите 2 таблицы - одну для стандартного пользователя Django и одну, связанную с ним мобильными данными.

Здесь вы можете узнать больше о замене пользователя и разнице между этими двумя подходами:

Расширение модели User с помощью пользовательских полей в Django

Или прямо в документации:

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#substituting-a-custom-user-model

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...