我有两个模型,School和UserProfiles,其中UserProfiles具有一个到学校的ForeignKey。在Django Admin中,我希望能够选择一所学校并让它显示所有具有外键的用户配置文件。在Django Admin中添加/编辑内联外键字段的问题
我这样做的方式是创建一个新的Inline,其中的模型是UserProfile,并将其添加到新的SchoolAdmin并注册它。
当我去添加一个新的用户配置文件时,出现了问题。会发生什么是我从下拉框中选择一个现有的用户,然后点击保存。但是,然后我得到一个错误,指出“此用户的用户配置文件已存在”。
看来,保存后,它会尝试为我选择的用户创建一个新的用户配置文件。我是否正在做这个错误的方式?
这是我设置的代码,用于在创建用户时自动创建用户配置文件。
def create_user_profile(sender, instance, created, **kwargs):
"""Create the UserProfile when a new User is saved"""
print "User Profile Creation: False"
if created:
print "User Profile Creation: ", created
UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
编辑:作为一个侧面说明,我该如何去跟踪程序流调试?我发现很难处理打印报表。
实施WERKZEUG调试器构建的,我补充说我使用的代码自动创建用户配置文件。但是,有趣的是,当我得到错误时,我的打印语句都不会被执行。 – CCSab
是的,你有别的事情在别的地方最有可能是因为这似乎是一个安全的调用get_or_create,所以你的代码(或第三方应用程序)中最有可能做的事情是不应该。 – John
我正在使用的唯一第三方应用是South,以处理迁移。不知道这是否会成为问题。 – CCSab