我想用户模型具有以下扩展用户配置扩展:如何将用户模型,其中包括一个一对多的关系与另一个模型
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解决方案已经实施,只需使用该配置文件即可。 –