1
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,但这似乎不起作用。

4

1 回答 1

2

您可以检索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
于 2020-12-29T16:23:23.713 回答