小编Moj*_*and的帖子

DRF 中 self.action 为 None

self.actionNoneget_permissions()方法中。
当调用不存在的 url 时,DRF 不会抛出 404 错误。这就是为什么行动在某种程度上是Noneget_permissions()方法的。

这里是ModelViewSet

class UserViewSet(ModelViewSet):
    serializer_classes = {
        "list": UserSerializer,
        "retrieve": UserSerializer,
        "create": UserSerializer,
        "update": UserUpdateSerializer,
    }
    http_method_names = ["get", "post", "put"]

    def get_serializer_class(self):
        return self.serializer_classes[self.action]

    def get_permissions(self):
        if self.action is None:
            # here error raises when i call '.../accounts/blablabla/` endpoint in post request instead of 404?
            raise AssertionError("self.action cannot be None") 
        if self.action in ["list", "retrieve"]:
            return [IsAuthenticated(), IsAdmin()]
        else:
            return [AllowAny()]
Run Code Online (Sandbox Code Playgroud)

这是我在 …

python django django-rest-framework

6
推荐指数
0
解决办法
741
查看次数

是否需要手动调用rand.Seed?

rand.Seed(n)我想知道Go中是否需要手动调用?
我有一个看起来像这样的代码:

import (
    "fmt"
    "math/rand"
)

func main() {
    fmt.Println(rand.Intn(100))
    fmt.Println(rand.Intn(100))
    fmt.Println(rand.Intn(100))
}
Run Code Online (Sandbox Code Playgroud)

每次我运行这段代码时,每一行都会打印出与其他行不同的数字。那么我每次
打电话之前都需要先打电话吗?rand.Seed(n)rand.Intn(100)

random go

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

如何为一个类设置多个 init

我想创建一个名为 的类Chain
我希望能够__init__多次调用方法。
例如:

>> Chain(1)
1
>> Chain(1)(2)
3  
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中做到这一点?

python

-5
推荐指数
2
解决办法
491
查看次数

标签 统计

python ×2

django ×1

django-rest-framework ×1

go ×1

random ×1