小编woe*_*ev.的帖子

base_name参数未指定,并且无法自动确定视图集中的名称,因为它没有.queryset属性

问题是这样的:我正在尝试替换标准的查询集:

queryset: MyModel.objects.all()
Run Code Online (Sandbox Code Playgroud)

在我身上:

def get_queryset(self, username=None):
    if username is not None:
        user = UserModel.objects.get(username=username)
        queryset = MyModel.filter(author=user)
        return queryset
    else:
        queryset = MyModel.objects.all()
        return queryset
Run Code Online (Sandbox Code Playgroud)

当我删除"queryset",并只留下"get_queryset"时,会出现一个错误:

AssertionError:base_name未指定参数,并且无法自动确定视图集中的名称,因为它没有.queryset属性.

一共看起来如此:

class MyModelView(viewsets.ModelViewSet):

permissions_classes = (permissions.IsAuthenticated,)
serializer_class = MyModelleSerializer

def get_queryset(self, username=None):
    if username is not None:
        user = UserModel.objects.get(username=username)
        queryset = MyModel.filter(author=user)
        return queryset
    else:
        queryset = MyModel.objects.all()
        return queryset

lookup_field = 'username'
lookup_value_regex = '[a-zA-Z0-9$&(._)\-]+'
Run Code Online (Sandbox Code Playgroud)

那么如何正确覆盖方法?

django-views python-3.x django-rest-framework

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

反应按键输入

我试图阻止一些角色被输入,但由于某种原因,禁令不会发生.我哪里错了?

render () {
    return <form>
        <input
            id="username"
            type="text"
            placeholder="Username"
            value={this.state.value}
            onKeyPress={this.pale_username.bind(this)}
        />
    </form>
}
Run Code Online (Sandbox Code Playgroud)

和功能

pale_username(key) {
    if((key.charCode < 48 || key.charCode > 57) //numbers
        && (key.charCode < 65 || key.charCode > 90) // AB
        && (key.charCode < 97 || key.charCode > 122) // ab
        && (key.charCode !== 36) // $
        && (key.charCode !== 38) // &
        && (key.charCode < 40 || key.charCode > 41) // ()
        && (key.charCode < 45 || key.charCode > 46) // -.
        && (key.charCode …
Run Code Online (Sandbox Code Playgroud)

function keypress onkeypress reactjs

5
推荐指数
1
解决办法
2206
查看次数