![](/img/trans.png)
[英]How can I create user profile after registering user in django using Signals?
[英]How to create a particular profile based on user attribute in Django using signals
我有“公司”或“申请人”的用户,每个用户都有不同的属性。 我想基于用户属性在注册时创建公司资料或申请人资料。
下面是我在signals.py中使用的代码,它不起作用。
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
if created:
if sender != User.is_company:
Applicant.objects.create(user=instance)
else:
Company.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
if instance.is_applicant:
instance.applicant.save()
else:
instance.company.save()
确保在您的apps.py中导入信号
#my_app/apps.py
from django.apps import AppConfig
class MyAppConfig(AppConfig):
name = 'My App'
def ready(self):
import my_app.signals
比在signals.py
#my_app/signals.py
@receiver(post_save, sender=User)
def save_profile(sender, instance, **kwargs):
if instance.is_applicant:
Applicant.objects.create(user=instance)
else:
Company.objects.create(user=instance)
替换为:
if sender != User.is_company:
对此:
if instance.is_company:
用户是一个类名,实例是它的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.