Django как передать модель в javascript и вывести ее на шаблон

Я пытаюсь передать модель Django в шаблон с помощью javascript. Я не могу отфильтровать или сделать что-либо с QuerySet после того, как я заставил javascript прочитать его и передать шаблону.

Мой views.py:

def displayDict(request):
    m = ChatStream.objects.filter(name = visitor_ip_address(request))
    last = m.latest('name')
    return render(request, 'chatStream.html',
    {"chat": m, "last": last})

my models.py:

class ChatStream(models.Model):
    bot = models.TextField()
    user = models.TextField()
    name = models.CharField(max_length=100, null=True)
    created_date = models.DateTimeField(auto_now_add=True)

Мой файл chatStream.html:

<p id="demo2">I will display when two seconds have passed.</p>

<script>
    var data = "{{chat}}";
    var lastEntry = "{{last}}"
    } 

setTimeout(myTimeout1, 2000) 


function myTimeout2() {
  document.getElementById("demo2").innerHTML = "2 seconds " + data + "lastEntry" + lastEntry;
}

</script>

Результат, который я получаю через 2 секунды:

2 секунды <QuerySet [<ChatStream: Объект ChatStream (31)>, <ChatStream: объект ChatStream (32)>]>объект lastEntryChatStream (31)

.

Вместо того, чтобы показать "<QuerySet [<ChatStream: объект ChatStream (31)>....] " Как показать текст внутри модели с именем ChatStream?...

Я пробовал:

<p id="demo2">I will display when two seconds have passed.</p>

<script>
    var data = "{{chat.user}}";
    var lastEntry = "{{last.user}}"
    } 

setTimeout(myTimeout1, 2000) 


function myTimeout2() {
  document.getElementById("demo2").innerHTML = "2 seconds " + data + "lastEntry" + lastEntry;
}

</script>

Но выше ничего не отображается.

Я также пробовал

<p id="demo2">I will display when two seconds have passed.</p>

<script>
    var data = "{{chat | last }}";
    var lastEntry = "{{last}}"
    } 

setTimeout(myTimeout1, 2000) 


function myTimeout2() {
  document.getElementById("demo2").innerHTML = "2 seconds " + data + "lastEntry" + lastEntry;
}

</script>

но фильтрация в последнюю очередь выдает ошибку, которую я не могу отрицательно индексировать (и у меня запущена последняя версия Django).

Огромное спасибо

ChatStream.objects.filter(...) возвращает QuerySet, который является списком объектов модели ChatStream, а не одним объектом модели ChatStream.

Если вы хотите получить один объект модели ChatStream, используйте

m = ChatStream.objects.get(name=visitor_ip_address(request))
Вернуться на верх