Python 我想在django社交应用登录后添加costment字段

Python 我想在django社交应用登录后添加costment字段,python,django,facebook,login,django-socialauth,Python,Django,Facebook,Login,Django Socialauth,您好,我是python/django的新php开发人员 我正在使用“social auth app django”库使用django创建一个社交登录,并按照下面的教程来实现它 它的工作很好,但我还需要在数据库中添加服装文件,这将在不同的表中,但它将被添加到新用户创建时。 我扩展了用户表,如下所示 from django.contrib.auth.models import User class NewsCreator(models.Model): user = models.OneT

您好,我是python/django的新php开发人员

我正在使用“social auth app django”库使用django创建一个社交登录,并按照下面的教程来实现它

它的工作很好,但我还需要在数据库中添加服装文件,这将在不同的表中,但它将被添加到新用户创建时。 我扩展了用户表,如下所示

from django.contrib.auth.models import User

class NewsCreator(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    CreatorLastLogs= models.CharField(max_length=100)
    CreatorLogs= models.CharField(max_length=100)

我想在创建新用户或现有用户登录时向这些字段添加数据。我试图浏览文档,但找不到任何与代码扩展/自定义等相关的内容。提前感谢大家。嗨,我已经找到了答案,所以我为稍后偶然发现这篇文章的人发帖

django social提供了扩展代码的管道,我们只需要扩展这个管道 为此,请在setting.py文件中发布以下列表(此列表中的所有方法都是默认管道方法,除最后一个方法外,其他方法都会被调用)

如果您对django social有任何其他疑问,请参考 其详细文件

SOCIAL_AUTH_PIPELINE = (
    'social_core.pipeline.social_auth.social_details',
    'social_core.pipeline.social_auth.social_uid',
    'social_core.pipeline.social_auth.auth_allowed',
    'social_core.pipeline.social_auth.social_user',
    'social_core.pipeline.user.get_username',
    'social_core.pipeline.user.create_user',
    'social_core.pipeline.social_auth.associate_user',
    'social_core.pipeline.social_auth.load_extra_data',
    'social_core.pipeline.user.user_details',
    'newsapp.pipeline.save_profile'<-- this is your method
)
def save_profile(backend, user, response, *args, **kwargs):
    if NewsCreator.objects.filter(user_id=user.id).count() == 0 :
        newsCreator = NewsCreator.objects.create(user=user)
        //your logic for new fields 
        newsCreator.save()