我想用戶模型具有以下擴展用戶配置擴展:如何將用戶模型,其中包括一個一對多的關係與另一個模型
class Client(models.Model):
business_name = models.CharField(max_length=128)
category = models.ForeignKey(Category) # the beginning of the problem
user = models.ForeignKey(User, unique=True)
class Category(models.Model):
category = models.CharField(max_length=75)
#the problem is here
def create_client_profile(sender, instance, created, **kwargs):
if created:
Client.objects.create(user=instance)
post_save.connect(create_client_profile, sender=User)
所以,當我嘗試同步數據庫,它抱怨category_id不能爲空,問題的根源是「create_client_profile」。我該如何解決這個問題? 如果我刪除「create_client_profile」它的作品,但是我會鬆散get_profile()。
您認爲this是一種解決方案嗎?我不確定它是否足夠Djangoish :)
該鏈接上的博客文章如何不能成爲「Djangoish」?這實際上是Django文檔推薦的方式。 –
我不確定是否因爲它在2008年發佈,他正試圖解決現在成爲Django一部分的問題。而且,在這篇文章的開頭,他一直在抱怨Django這樣做,所以據他說,他提供了更好的東西。這就是爲什麼我把它扔在這裏爲了檢查其他人的意見 – blaise
我看到,他實際上推薦了一種不同於get_profile()的訪問配置文件的方式,但其他一切都是標準的Django。它仍然不是一個備用的「解決方案」。只要標準Django解決方案已經實施,只需使用該配置文件即可。 –