Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Djanog错误(DoesNotExist at/admin/Profile匹配查询不存在)_Python_Python 3.x_Django - Fatal编程技术网

Python Djanog错误(DoesNotExist at/admin/Profile匹配查询不存在)

Python Djanog错误(DoesNotExist at/admin/Profile匹配查询不存在),python,python-3.x,django,Python,Python 3.x,Django,我正在使用某人的代码。它在我本地的机器上运行得很好。我可以轻松创建超级用户帐户。但当我尝试登录该帐户时,它会向我显示这些错误消息。我该怎么办 raise self.model.DoesNotExist( timelines.models.Profile.DoesNotExist:配置文件匹配查询不存在。 HTTP GET/admin/500[0.12127.0.0.1:52697]问题是您正在创建一个用户,而该用户还没有配置文件 一种选择是这样做: users_without_profile

我正在使用某人的代码。它在我本地的机器上运行得很好。我可以轻松创建超级用户帐户。但当我尝试登录该帐户时,它会向我显示这些错误消息。我该怎么办

raise self.model.DoesNotExist(
timelines.models.Profile.DoesNotExist:配置文件匹配查询不存在。
HTTP GET/admin/500[0.12127.0.0.1:52697]

问题是您正在创建一个用户,而该用户还没有配置文件

一种选择是这样做:

users_without_profile = User.objects.filter(profile__isnull=True)
for user in users_without_profile:
    Profile.objects.create(user=user)
@receiver(post_save, sender = User)
def create_profile(sender, instance, created, **kwargs):
    if created: #if User was created
        Profile.objects.create(user = instance)

 @receiver(post_save, sender = User)
 def save_profile(sender, instance, **kwargs):
     instance.profile.save()
另一种选择是使用信号。大概是这样的:

users_without_profile = User.objects.filter(profile__isnull=True)
for user in users_without_profile:
    Profile.objects.create(user=user)
@receiver(post_save, sender = User)
def create_profile(sender, instance, created, **kwargs):
    if created: #if User was created
        Profile.objects.create(user = instance)

 @receiver(post_save, sender = User)
 def save_profile(sender, instance, **kwargs):
     instance.profile.save()

由于您没有提供太多信息,我不得不做出一些假设。

您是否为超级用户创建了配置文件对象?否,我使用命令“python manage.py createsuperuser”raise self.model.DoesNotExist(timeline.models.profile.DoesNotExist:配置文件匹配查询不存在。HTTP GET/admin/500[0.12127.0.0.1:52697]这是您可能需要运行迁移的实际错误。我正在使用createsuperuser命令创建超级用户,并且创建成功。但当我尝试登录时,它显示此错误:raise self.model.DoesNotExist(timelines.models.Profile.DoesNotExist:配置文件匹配查询不存在。HTTP GET/admin/500[0.12127.0.0.1:52697]是的,这是因为您可能稍后创建了配置文件模型。您尝试过我的答案吗?应该可以。