【发布时间】:2020-10-13 13:27:11
【问题描述】:
我正在尝试获取属于该用户的所有待办事项,
这是我的待办事项模型
from django.db import models
from django.contrib.auth.models import User
class Todo(models.Model):
_id = models.AutoField(primary_key = True)
title = models.CharField(max_length = 250)
content = models.TextField()
created_at = models.DateField()
complete = models.BooleanField(default = False)
owner = models.ForeignKey(User, related_name = 'todo', on_delete = models.CASCADE, null = True)
这是我的待办事项视图集
from rest_framework import viewsets, permissions
from .models import Todo
from .serializers import TodoSerializer
class TodoViewSet(viewsets.ModelViewSet):
permissions_classes = [
permissions.IsAuthenticated
]
serializer_class = TodoSerializer
def query(self):
return self.request.user.todo.all()
def create(self, serializer):
serializer.save(owner = self.request.user)
当我向 /api/todo/ 发送请求时(待办事项休息 api) 我收到此错误:
AttributeError: 'AnonymousUser' object has no attribute 'todo'
可能是什么问题?我应该创建用户模型吗?目前我正在使用 django 用户。
【问题讨论】:
-
request.user 是用户对象吗?看起来不像。是的,您必须创建用户模型。
标签: django django-rest-framework jwt jwt-auth django-rest-framework-jwt