Django 编写查询以查看子项是否存在于其他表中,并在模板中显示该子项的存在

Django 编写查询以查看子项是否存在于其他表中,并在模板中显示该子项的存在,django,django-views,django-queryset,Django,Django Views,Django Queryset,我有一个简单的应用程序,当孩子出了什么事时,为父母的每个孩子创建一个当天的日志条目 例如,一个家长包含三个孩子 每次与子级交互时,我都在日志表中创建一个条目来记录操作。日志是按天组织的。所以我可以在周二为三个孩子准备三份参赛作品,在周三为同样的三个孩子准备四份参赛作品 我想写一个查询,检查当天日志中是否存在子项。因此,当页面加载或刷新时,我设置了一个模板变量,指示它确实存在于日志中 我一直在想,下面的查询将整理出我需要什么。但我很难找出缺失的部分 型号: class Child(models.M

我有一个简单的应用程序,当孩子出了什么事时,为父母的每个孩子创建一个当天的日志条目

例如,一个家长包含三个孩子

每次与子级交互时,我都在日志表中创建一个条目来记录操作。日志是按天组织的。所以我可以在周二为三个孩子准备三份参赛作品,在周三为同样的三个孩子准备四份参赛作品

我想写一个查询,检查当天日志中是否存在子项。因此,当页面加载或刷新时,我设置了一个模板变量,指示它确实存在于日志中

我一直在想,下面的查询将整理出我需要什么。但我很难找出缺失的部分

型号:

class Child(models.Model):
    description = models.TextField()

class Log(models.Model):
    child = models.ForeignKey(Child, related_name="child_log")
    day = models.DateField(auto_now_add=True, editable=False)

class Parent(models.Model):
    parent_children = models.ManyToManyField(Child, blank=True, null=True)
查询集:

today = date.today()
children = Child.objects.filter(parent=parent.id) <= parent.id comes from request kwargs
child_list = Child.objects.filter(id__contains=children.id)
does_exist = Log.objects.filter(child=child_list.id).filter(day=today)
today=date.today()

children=Child.objects.filter(parent=parent.id)Hm。。。如果我理解正确,试试这个

{% for child in childs %}
    {% if child.child_log.today.exists %}
    #do your staff
...
并将管理器写入日志:

class LogManager(models.Manager)
    def today(self)
        return self.get_query_set().filter(day=datetime.datetime.today())

...
class Log(models.Model):
    child = models.ForeignKey(Child, related_name="child_log")
    day = models.DateField(auto_now_add=True, editable=False)

    objects = LogManager()

模型中有关系吗?显示您的模型I添加到示例modelsWorks中。谢谢