django 1.10 - 用户注册时自定义 sql 插入

django 1.10 - custom sql inserts when user registered

我正在使用 django 1.10 + django-registration 2.2(HMAC 激活工作流程)。 如何在新用户注册时自定义 sql 插入? 例如,每个用户都有自己的设置,注册后我想为该用户在 sql table 中插入默认设置。稍后用户可以更改这些设置。

常见的做法是什么?我必须编辑 django-registration 2.2 文件吗?

使用 django 信号。

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


@post_save(sender=User)
def my_callback(sender, instance, created, **kwargs):
    """

    :param sender: 
    :param instance: user instance
    :param created: Inserted or Updated
    :param kwargs: 
    :return: 
    """
    if created is True:
        # Create custom settings for user.
        pass

https://docs.djangoproject.com/en/1.11/ref/signals/#django.db.models.signals.pre_save