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]是的,这是因为您可能稍后创建了配置文件模型。您尝试过我的答案吗?应该可以。