ajt*_*ajt 0 python django model alphabetical
我有一个看起来像这样的 Django 模型:
class Definition
name = models.CharField(max_length=254)
text = models.TextField()
Run Code Online (Sandbox Code Playgroud)
如果我执行以下查询:
animal = Definition.objects.get(name='Owl')
Run Code Online (Sandbox Code Playgroud)
如果我的数据库中有这些名称的以下定义:
Elephant, Owl, Zebra, Human
Run Code Online (Sandbox Code Playgroud)
有没有办法做一个django查询,它会animal根据name模型中字段的字母顺序显示基于对象的上一个和下一个定义?
我知道有多种方法可以根据datetime字段获取上一个/下一个,但我对这种情况不太确定。
在不到三个查询中,我不知道有什么方法可以做到这一点。
target = 'Owl'
animal = Definition.objects.get(name=target)
previous_animal = Definition.objects.order_by('name').filter(name__lt=target)[0]
next_animal = Definition.objects.order_by('name').filter(name__gt=target)[0]
Run Code Online (Sandbox Code Playgroud)