如何从django中的数据库获取下一个可用对象或主键

我正在尝试音乐播放器,我想从数据库中使用当前音乐的 ID 获取下一首音乐。因此,如果有人能告诉如何使用当前 ID 获取下一个主键。

这是获取当前音乐的代码。

music = Contents.objects.get(id=id)

我传递的 id 是当前音乐的主键。因此,请不要建议我如何获得下一首音乐,而不是上面的代码。

回答

我会建议你一个简单的解决方案。如果您通过 id+1 获取对象,那么如果删除了某个元素,则会导致错误。

所以只需过滤 id 大于当前 id 并取第一个。

music= Contents.objects.filter(id__gt=id).order_by('id').first()
if music is None:
    music= Contents.objects.all().order_by('id').first()

else 条件是如果当前音乐是最后一首音乐,则选择第一首音乐。下面我只说如何挑选以前的音乐

music= Contents.objects.filter(id__lt=id).order_by('id').last()
if music is None:
    music= Contents.objects.all().order_by('id').last()

希望它能解决你的问题...


以上是如何从django中的数据库获取下一个可用对象或主键的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>