小编lee*_*ngo的帖子

如何在 Django 中重写“get_queryset()”

我将使用 django 中的通用视图。我定义了serializer_class并重写了get_queryset()方法,但是有一个错误告诉我重写get_queryset()方法。我想知道我的覆盖方法是如何错误的,以及我必须做什么来解决该错误。这是我的代码。

视图.py

from .models import arduino
from .serializers import arduinoToAndroidSerializers, arduinoToDatabaseSerializers
from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from rest_framework.generics import ListCreateAPIView

class arduinoToAndroidViewSet (ViewSet) :
    def dataSend (self, request) :
        user = self.request.user
        queryset = arduino.objects.filter(name=user)
        serializer = arduinoToAndroidSerializers(queryset, many=True)
        return Response(serializer.data)

class arduinoToDatabaseViewSet (ListCreateAPIView) :
    serializer_class = arduinoToDatabaseSerializers
    def dataReceive (self, request) :
        user = self.request.user
        queryset = self.get_queryset()
        queryset = arduino.objects.filter(queryset, name=user)
        serializer = arduinoToDatabaseSerializers(queryset, many=True)
        return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

序列化器.py

class arduinoToAndroidSerializers (serializers.ModelSerializer) :
    name …
Run Code Online (Sandbox Code Playgroud)

django django-views django-generic-views django-serializer django-rest-framework

4
推荐指数
1
解决办法
1万
查看次数

binascii.Error:python django 中的填充不正确

我正在尝试将 base64 编码的图像保存在 django rest 框架中。首先我们编写一段代码,将base64编码的图片插入到imagefield中进行测试,出现如下错误。

binascii.Error:不正确的填充

我不明白的是,我之前使用过相同的代码并且没有出现这样的错误。你能帮助我吗?这是我的代码。

序列化程序.py

from rest_framework import serializers
from .models import post, comment

class Base64ImageField (serializers.ImageField) :

    def to_internal_value (self, data) :
        from django.core.files.base import ContentFile
        import base64
        import six
        import uuid

        if isinstance(data, six.string_types):
            if 'data:' in data and ';base64,' in data :
                header, data = data.split(';base64,')

            try :
                decoded_file = base64.b64decode(data)
            except TypeError :
                self.fail('invalid_image')

            file_name = str(uuid.uuid4())[:12]
            file_extension = self.get_file_extension(file_name, decoded_file)
            complete_file_name = "%s.%s" % (file_name, file_extension, )
            data = ContentFile(decoded_file, name=complete_file_name) …
Run Code Online (Sandbox Code Playgroud)

python django base64

2
推荐指数
2
解决办法
2696
查看次数

TypeError 'bool' 对象在 Django 中不可调用

我正在 django 中使用 simple-jwt 模块实现登录功能。这时候,只有通过邮箱认证的用户才能登录,这个条件句出现如下错误。

TypeError 'bool' 对象在 Django 中不可调用

我不知道为什么我不能引入 bool 类型变量。我该如何解决这个错误?这是我的代码。

视图.py

from .models import User
from .utils import Util
from .serializers import customRegisterSerializer, customLoginSerializer, customTokenRefreshSerializer, userProfileSerializer
from rest_framework.permissions import IsAuthenticated
from rest_framework.generics import GenericAPIView
from rest_framework_simplejwt.tokens import RefreshToken
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
from rest_framework.viewsets import ModelViewSet
from rest_framework.response import Response
from django.urls import reverse
from django.conf import settings
from django.contrib.sites.shortcuts import get_current_site
import jwt

class customSignUpView (GenericAPIView) :
    serializer_class = customRegisterSerializer

    def post (self, request) : …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework-simplejwt

2
推荐指数
1
解决办法
1254
查看次数

AttributeError:'set'对象在django中没有属性'items'

我在 DRF 中进行自定义,以便在正文或标题中输入空值时给出错误响应值。然而,挤压代码后,测试结果出现以下错误。

\n
\n

AttributeError:“set”对象没有属性“items”

\n
\n

我不知道这个错误意味着什么,也不知道为什么会发生。你能告诉我我的代码有什么问题吗?这是我的代码。

\n

视图.py

\n
class CreatePostView (ModelViewSet) :\n    serializer_class = PostSerializer\n    permission_classes = [IsAuthenticated]\n    queryset = Post.objects.all()\n
Run Code Online (Sandbox Code Playgroud)\n

序列化器.py

\n
class PostSerializer (serializers.ModelSerializer) :\n    author = serializers.CharField(source='author.username', read_only=True)\n    title = serializers.CharField(allow_null=True)\n    text = serializers.CharField(allow_null=True)\n    image = ImageSerializer(many=True)\n\n    class Meta:\n        model = Post\n        fields = ['pk', 'author', 'title', 'text', 'like', 'liker', 'image', 'view']\n\n    def validate (self, attrs) :\n        title = attrs.get('title', '')\n        text = attrs.get('text', '')\n\n        error = {}\n\n        if title is None …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

-1
推荐指数
1
解决办法
1338
查看次数