想象一下我有以下代码:
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(由于懒惰)并且过滤器在本地应用(总共一个数据库连接)?
我是django的新手。在我的模板中,我需要当前日期作为日期格式,而以下代码返回字符串:
<p>{% now "Y-m-d" as date %}</p>
Run Code Online (Sandbox Code Playgroud)
我想以2018-12-17格式的日期作为日期而不是字符串。反正有这样做吗?
恶作剧
我希望将固定的排序字段应用于所有自定义排序。更具体地说,假设我们有一个员工列表,如果用户选择此表单按雇佣日期排序,我希望结果按雇佣日期和雇员 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)
交易一百万
我是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
我正在使用 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