Я пытаюсь получить последние 5 элементов. Я действительно не знаю, как это сделать. Я попробовал функцию reverse(). чтобы ограничить запрос, который я использовал [: 5]обратная информация о базе данных django
вопрос: для чего нужен контекст запроса? я не понимаю djangodocs
модель:
class Topic(models.Model):
user = models.ForeignKey(User)
postit = models.TextField(max_length=300)
comment = models.TextField(max_length=300)
createdat = models.DateTimeField(default=timezone.now)
def timer(self):
return self.createdat
def who(self):
return self.user
def __str__(self): # __unicode__ on Python 2
return self.postit
Вид:
def chat(request):
if request.method == 'POST':
form = StoryForm(request.POST)
if form.is_valid():
storyi = form.save(commit=False)
storyi.user = request.user
storyi.save()
return HttpResponseRedirect('/chat/')
else:
form=StoryForm()
try:
p = Topic.objects.all()[:5].reverse()
)
except ObjectDoesNotExist:
p= "don't try it again"
return render(request,'chat/chat.html',{'form': form, 'p':p})
при использовании [-5:] Я получаю эту ошибку: отрицательная индексация не поддерживается. Задать запросКонтекст, когда и где его использовать? Мне нужно использовать его здесь? – nokker
@nokker Попробуйте эту тему.objects.all(). Order_by ('createdat') [: 5] – wolendranh
Это сработало, но я должен был сделать это «-createdat». Большое спасибо! – nokker