我有一個Django應用程序,其中將有兩種類型的用戶註冊。 Consumers
和Providers
。Django在用戶註冊時創建不同的用戶配置文件實例
class ConsumerProfile(models.Model):
user = models.OneToOneField(User)
# Some fields
class ProviderProfile(models.Model):
user = models.OneToOneField(User)
# Some fields
def create_user_profile(sender, instance, created, **kwargs):
if created: # What should the condition be here so that only the correct profile is created
ConsumerProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
如何確保在創建用戶時只創建正確的配置文件模型實例?
爲什麼不在函數中包含'kind = UserTypes.CONSUMER'參數或類似的東西? – camden
@camdenb,我不確定那裏會放什麼。你能解釋一下嗎? – Newtt
'UserTypes'不是必須的,因爲你總是可以傳遞一個字符串('kind =「Consumer」')給函數,前者不太容易出現拼寫錯誤。儘管如此,恐怕我不完全理解你的問題。你什麼時候會調用'create_user_profile'? – camden