小编Ham*_*ian的帖子

每次都在django查询数据库中过滤查询集吗?

想象一下我有以下代码:

qs = Users.objects.all()

list = []
for i in range(10):
    list.append(qs.filter(age=i))
Run Code Online (Sandbox Code Playgroud)

这里过滤器被调用 10 次,它是否连接到数据库 10 次或第一次使用过滤器,分配qs(由于懒惰)并且过滤器在本地应用(总共一个数据库连接)?

python database django django-queryset

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

如何在Django模板中获取日期格式

我是django的新手。在我的模板中,我需要当前日期作为日期格式,而以下代码返回字符串:

<p>{% now "Y-m-d" as date %}</p>
Run Code Online (Sandbox Code Playgroud)

我想以2018-12-17格式的日期作为日期而不是字符串。反正有这样做吗?

恶作剧

django date

3
推荐指数
1
解决办法
4182
查看次数

djangorest框架始终排序字段

我希望将固定的排序字段应用于所有自定义排序。更具体地说,假设我们有一个员工列表,如果用户选择此表单按雇佣日期排序,我希望结果按雇佣日期和雇员 ID 一起排序。我的意思是每个订单都应该按照里面的employee_id来排序!例如,如果我们今天雇用了 5 名员工,如果雇佣日期是排序字段,则这 5 名员工将按员工 ID 排序,其他日子的情况相同。

使用以下方法并不能解决问题。当未设置排序时,它仅根据employee_id 对它们进行排序:

queryset = models.Employee.objects.order_by('id')
Run Code Online (Sandbox Code Playgroud)

这个结果与之前的结果相同:

filter_backends = (CustomFilterSetBackend, filters.OrderingFilter)
custom_filters = (
    ........
)
ordering_fields = (............)
ordering = ('id',)
Run Code Online (Sandbox Code Playgroud)

交易一百万

sorting django django-rest-framework

3
推荐指数
1
解决办法
4391
查看次数

pip安装最新版本

我是python和django的新手。在我的requirements \ common.txt文件中,以下行带有版本号:

django-simple-captcha==0.5.*

问题是当我运行时pip install -r requirements\common.txt,由于该软件包的版本为0.5.3,因此不会将其更新为最新版本(0.5.6),而只会pip --upgrade requirements\common.txt升级为最新版本。无论如何,有没有修改common.txt文件的内容,因此运行pip install安装了最新版本?

我问是因为这个文件将被几个开发人员使用,如果他们已经有了该软件包的版本0.5.3,它将不会升级它,并且有很多软件包需要升级。

n

python django pip

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

禁用特殊功能的 django rest 框架身份验证

我正在使用 django rest 框架进行身份验证。

 'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication'
    ),
Run Code Online (Sandbox Code Playgroud)

但在我的注册功能中:

class UserRegister(APIView):
    @staticmethod
    def post(request, user_name):
.
.
.
.
.
Run Code Online (Sandbox Code Playgroud)

显然我不需要令牌,但是我收到错误:

"detail": "Authentication credentials were not provided."
Run Code Online (Sandbox Code Playgroud)

我试过这个可能的答案: 这个答案

但我遇到了这个错误:

'staticmethod' object has no attribute '__name__'
Run Code Online (Sandbox Code Playgroud)

通过删除@staticmethod 装饰器,我再次收到以前的错误:

"detail": "Authentication credentials were not provided."
Run Code Online (Sandbox Code Playgroud)

如何从需要令牌中排除此特殊功能?

tnx

django django-rest-framework

0
推荐指数
1
解决办法
1218
查看次数