zdy*_*dyn 38 python django filter django-views
道歉,我是Django和Python的新手.
我有两个问题.首先,我将如何在对象列表中创建最后一个对象(或最高pk)?例如,我知道我可以使用以下内容来获取第一个对象:
list = List.objects.all()[0]
Run Code Online (Sandbox Code Playgroud)
有没有办法获得List.objects的长度?我已经尝试过List.objects.length,但无济于事.
其次,是否可以创建同时过滤器或组合列表?这是一个例子:
def findNumber(request, number)
phone_list = Numbers.objects.filter(cell=number)
Run Code Online (Sandbox Code Playgroud)
我想要像上面这样的东西,但更像是:
def findNumber(request, number)
phone_list = Numbers.objects.filter(cell=number or home_phone=number)
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法,如果有的话?
hug*_*own 58
我还没有尝试过,但是我会在QuerySets上查看latest()运算符:
最新(FIELD_NAME =无)
使用作为日期字段提供的field_name,按日期返回表中的最新对象.
此示例根据pub_date字段返回表中的最新条目:
Entry.objects.latest( 'PUB_DATE')
如果模型的Meta指定了get_latest_by,则可以将field_name参数保留为latest().Django默认使用get_latest_by中指定的字段.
与get()一样,如果对象不存在给定参数,则latest()会引发DoesNotExist.
注意最新()存在纯粹为了方便和可读性.
get_latest_by
Options.get_latest_by
模型中DateField或DateTimeField的名称.这指定了在模型管理器的最新方法中使用的默认字段.
例:
get_latest_by ="order_date"
有关更多信息,请参阅最新()的文档.
编辑:韦德对Q()运算符有一个很好的答案.
Har*_*rry 34
这个有效!
Model.objects.latest('field') - 字段可以是id.这将是最新的身份证
jcd*_*yer 16
对于最大的主键,请尝试以下方法:
List.objects.order_by('-pk')[0]
Run Code Online (Sandbox Code Playgroud)
请注意,pk无论定义为主键的字段的实际名称如何,都可以使用.
pun*_*lly 15
自Django 1.6以来 - 最后
last()
像first(),但返回查询集中的最后一个对象.
返回查询集匹配的最后一个对象,或者None是否没有匹配的对象.如果QuerySet没有定义排序,则主键会自动排序查询集.
list = List.objects.last() 为您提供最后创建的对象
| 归档时间: |
|
| 查看次数: |
63334 次 |
| 最近记录: |