Как заполнить БД из ответа Facebook с помощью python-social-auth

У меня установлен Django с python-social-auth.

Моя пользовательская модель пользователя:

class User(AbstractUser):
    """Custom User model."""

    username = None
    email = models.EmailField(blank=False, unique=True, verbose_name=_("Email"))
    facebook_link = models.URLField(blank=True, verbose_name=_("Facebook profile link"))
    contacts = models.CharField(blank=True, max_length=250, verbose_name=_("Contacts"))
    hometown = models.CharField(blank=True, max_length=250, verbose_name=_("Hometown"))
    start_coordinates = models.CharField(blank=True, max_length=100, verbose_name=_("Start coordinates"))
    avatar = ProcessedImageField(
        upload_to="avatar/",
        format="JPEG",
        options={"quality": 80},
        default="avatar/default_avatar.jpg",
        verbose_name=_("Image"),
    )


    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = []

Я делаю успешную аутентификацию с Facebook с помощью этого кода:

SOCIAL_AUTH_USER_MODEL = 'accounts.User'
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True
SOCIAL_AUTH_LOGIN_REDIRECT_URL = 'home'
SOCIAL_AUTH_LOGIN_URL = 'login'

SOCIAL_AUTH_FACEBOOK_SCOPE = ['email', 'user_link', 'user_hometown']
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {
    'fields': 'id, name, email, picture.type(large), link, hometown'
}
SOCIAL_AUTH_FACEBOOK_EXTRA_DATA = [
    ('name', 'name'),
    ('email', 'email'),
    ('picture', 'avatar'),
    ('link', 'facebook_link'),
    ('hometown', 'hometown'),
]

В результате у меня в DB создается новый экземпляр пользователя с автоматически заполненными полями: fist_name, last_name, email.

Как я могу заполнить остальные поля (facebook_link, hometown) данными из ответа?

Вернуться на верх