Будьте осторожны с использованием
Edition.objects.order_by('-pub_date')[0]
как вы могли бы индексировать пустой QuerySet. Я не уверен, каков правильный подход Pythonic, но самым простым было бы заключить его в if / else или try / catch:
try:
last = Edition.objects.order_by('-pub_date')[0]
except IndexError:
# Didn't find anything...
Но, как сказал @Harley, когда вы заказываете по дате, latest()
- это djangonic способ сделать это.