django, извлекающий все объекты из отношения модели «один ко многим» в оболочке

#django #django-models #one-to-many #django-shell

#django #django-модели #один ко многим #django-shell

Вопрос:

 from django.db import models
from django.contrib.auth.models import User
 
# Create your models here.
 
class Board(models.Model):
        title = models.CharField(max_length=50, null=True)
        user = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
 
        def __str__(self):
                return self.title
 
class Task(models.Model):
        title = models.CharField(max_length=200, null=True)
        done = models.BooleanField(default=False, null=True)
        created_at = models.DateTimeField(auto_now_add=True, null=True)
        user = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
        board = models.ForeignKey(Board, null=True, on_delete=models.CASCADE)
 
 
        def __str__(self):
                return self.title
 

как я могу получить все задачи, которые находятся внутри одной платы? (каждый пользователь может создать доску, а внутри этой доски пользователь может создавать задачи) Я пробовал Board.objects.get(pk=1).title.title , но, похоже, это не сработало.

Комментарии:

1. Пожалуйста, поделитесь кодом , а не изображениями кода: idownvotedbecau.se/imageofcode

Ответ №1:

Вы можете извлечь Board объект, а затем выполнить запрос с помощью task_set :

 board = Board.objects.get(pk=1)
board.task_set.all()  # queryset of related Tasks 

Если вас не интересует само по Board себе, вы можете опустить запрос Board и фильтровать с помощью:

 Task.objects.filter(board_id=1)  # queryset of related Tasks