微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django 从 shell 中的一对多模型关系中检索所有对象

如何解决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,on_delete=models.CASCADE)
        board = models.ForeignKey(Board,on_delete=models.CASCADE)
 
 
        def __str__(self):
                return self.title

我怎样才能获得一个板内的所有任务? (每个用户都可以创建一个板,并且用户可以在该板中创建任务)我试过 Board.objects.get(pk=1).title.title 但这似乎不起作用。

解决方法

您可以检索 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。