0
我正在研究需要兩種類型用戶的Intranet Web應用程序。普通用戶,可以從django管理員和特定類型的用戶進行設置 - 員工。創建一個單獨的用戶類型
我有僱員類型用戶的以下模型。
class Employee(models.Model):
emp_name = models.CharField(max_length=500)
slug = models.SlugField(unique=True, default='')
location = models.CharField(max_length=200)
email = models.EmailField()
experience = models.TextField(blank=True)
primary_skill = models.ManyToManyField(PrimarySkill)
secondary_skill = models.ManyToManyField(SecondarySkill)
我想有這樣的OneToOneField按照官方文檔和 this article:
user = models.OneToOneField(User, blank=True, null=True, on_delete=models.CASCADE)
@receiver(post_save, sender=User)
def create_employee(sender, instance, created, **kwargs):
if created:
Employee.objects.create(user=instance)
@receiver(post_save, sender=User)
def save_employee(sender, instance, **kwargs):
instance.employee.save()
我意識到,這是我想的正好相反。每次從管理員創建用戶 時,都會在 app_employee表中創建一個條目。
我想是這樣的:
- 每次創建一個
Employee
時間,我需要創建User
。 - 僱員可以使用單獨的註冊表單創建,說emp_signup
如何處理這個情況?