我是一名学习 django rest 框架的学生
我正在用 django rest 框架制作一个简单的 sns
我需要跟随系统。所以,我试图做到,但有一些麻烦
首先这是我的带有 AbstractBaseUser 和 PermissionsMixin 的用户模型
class User(AbstractBaseUser, PermissionsMixin):
user_id = models.CharField(max_length=100, unique=True, primary_key=True)
name = models.CharField(max_length=100)
created_at = models.DateTimeField(auto_now_add=True)
is_staff = models.BooleanField(default=False)
followers = models.ManyToManyField('self', related_name='follower',blank=True)
following = models.ManyToManyField('self', related_name='following',blank=True)
profile_image = models.ImageField(blank=True)
Run Code Online (Sandbox Code Playgroud)
现场追随者是追随我的人,追随的是我追随的人
当我使用此 APIView 类添加以下内容时
class AddFollower(APIView):
permission_classes = [IsAuthenticated, ]
def post(self, requset, format=None):
user = User.objects.get(user_id=self.request.data.get('user_id'))
follow = User.objects.get(user_id=self.request.data.get('follow'))
user.following.add(follow)
user.save()
follow.followers.add(user)
follow.save()
print(str(user) + ", " + str(follow))
return JsonResponse({'status':status.HTTP_200_OK, 'data':"", 'message':"follow"+str(follow.user_id)})
Run Code Online (Sandbox Code Playgroud)
user_id 是我,follow 是我想要关注的人 …
我是一名学习 django rest 框架的学生
我尝试使用表单数据上传多个文件
当我在邮递员中发送这样的请求时
发生错误,这是错误消息
images_data = self.context.get('request').request.FILES
AttributeError: 'NoneType' 对象没有属性 'request'
这是模型
class Post(models.Model):
text = models.CharField(max_length=5000)
owner = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
class Image(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
image = models.FileField(blank=True)
Run Code Online (Sandbox Code Playgroud)
和意见
class AddPost(APIView):
serializer_class = PostSerializer
def post(self, request, format=None):
serializer = PostSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return JsonResponse({'status':status.HTTP_200_OK, 'message':"sucess", 'data':""})
Run Code Online (Sandbox Code Playgroud)
序列化程序
class FileSerializer(serializers.ModelSerializer):
class Meta:
model = Image
fields = '__all__'
class PostSerializer(serializers.ModelSerializer):
images = FileSerializer(source='image_set', many=True, read_only=True)
class Meta:
model = Post
fields …Run Code Online (Sandbox Code Playgroud) django django-file-upload django-serializer django-rest-framework