#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