Django -Как мне получить шаблон HTML для отображения данных двух моделей? - PullRequest
1 голос
/ 05 апреля 2020

Итак, я создаю приложение для дел. Как получить представление html для отображения задач? Я пытался показать название задач, но оно пустое. Пока он показывает только название форума и пользователя, который его создал. Вот мой код: Models.py

class Board(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
admin = models.ForeignKey(User, on_delete=models.CASCADE, related_name="Board")
name = models.CharField(max_length=200)

class Task(models.Model):
    board = models.ForeignKey(Board, on_delete=models.CASCADE)
    admin = models.ForeignKey(User, on_delete=models.CASCADE)
    text = models.CharField(max_length=300)
    complete = models.BooleanField(default=False)
    assigned_to = models.CharField(max_length=30)

views.py

def board_post_detail(request, board_id):
obj = get_object_or_404(Board, id=board_id)
taskobj= Task.objects.filter(board=obj)
context = {"object": obj, "tasks": taskobj}
return render(request, 'boards/board_post_detail.html', context)

board_post_detail. html

{% block content %}
<h1>{{ object.name}}</h1>
<p> {{tasks.text}}<p>
<p>Created by {{object.admin.username  }}</p>
{% endblock %}

1 Ответ

0 голосов
/ 05 апреля 2020

Я понимаю, что мне нужно было использовать для l oop для итерации по задачам.

{% block content %}
<h1>{{ object.name}}</h>
    <ul>
        {%  for task in tasks %}
            <li>{{ task.text }} is assigned to {{ task.assigned_to }}</li>
        {% endfor %}
    </ul>
<p>Created by {{object.admin.username  }}</p>

{% endblock%}

...