[英]matching query does not exist. Django Error
this is my code for my project, I just get this error I tried to figure it out but I don't get it,这是我的项目代码,我刚刚得到这个错误我试图弄清楚但我不明白,
Django Error:姜戈错误:
DoesNotExist at /save_post/不存在于 /save_post/
Profile matching query does not exist.配置文件匹配查询不存在。
views.py, line 75, in save_post form.authore = Profile.objects.get(user=request.user) views.py, line 75, in save_post form.authore = Profile.objects.get(user=request.user)
views.py视图.py
@login_required
def save_post(request):
if request.method == "POST":
form = Post(content=request.POST['content'])
form.authore = Profile.objects.get(user=request.user)
form.save()
elif request.method == "PUT":
data = json.loads(request.body)
post_id = int(data["post_id"])
new_content = data["new_content"]
post = Post.objects.filter(id=post_id).first()
if post.authore.user != request.user:
return HttpResponse(status=401)
post.content = new_content
post.save()
return JsonResponse({
"result": True
}, status=200)
else:
return JsonResponse({
"error": "post not found"
}, status=400)
return index(request)
models.py模型.py
class User(AbstractUser):
pass
class Profile(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
class Post(models.Model):
content = models.TextField()
timestamp = models.DateTimeField(default=timezone.now)
authore = models.ForeignKey(Profile, on_delete=models.CASCADE)
likes = models.PositiveIntegerField(default=0, blank=True, null=True)
def serialize(self):
return {
"id": self.id,
"content": self.content,
"timestamp": self.timestamp.strftime("%b %#d %Y, %#I:%M %p"),
"authore": self.authore.id,
"username": self.authore.user.username,
"likes": self.likes.count(),
}
this seems correct but you already this user you are using doesn't have profile so here my notes :这似乎是正确的,但您已经使用的这个用户没有个人资料,所以这里是我的笔记:
get_object_or_404
this if profile not found will return not found您可以使用get_object_or_404
如果未找到配置文件将返回未找到from django.shortcuts import get_object_or_404
form.authore = get_object_or_404(Profile, user=request.user)
to make it correct working refer here https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html要使其正确工作,请参阅此处https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html
go to Extending User Model Using a One-To-One Link in previous link转到上一个链接中使用一对一链接扩展用户模型
field execute this tutorial and user profile will created auto when user created字段执行本教程,用户配置文件将在用户创建时自动创建
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.