【问题标题】:django retrieving all objects from one to many model relationship in shelldjango从shell中的一对多模型关系中检索所有对象
【发布时间】:2021-04-06 06:28:34
【问题描述】:
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,但这似乎不起作用。

【问题讨论】:

标签: django django-models one-to-many django-shell


【解决方案1】:

可以检索Board对象,然后用task_set查询:

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

如果您对Board 本身不感兴趣,您可以省略查询Board,并使用:

Task.objects.filter(<b>board_id=1</b>)  # queryset of <i>related</i> Tasks

【讨论】:

    猜你喜欢
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2013-07-16
    • 2021-11-20
    相关资源
    最近更新 更多