如何在Django中从关系数据库检索数据

时间:2020-02-26 04:22:13

标签: django orm model relational-database

此Child_detail模型与临床测试模型有关

class Child_detail(models.Model):
    Firstname = models.CharField(max_length = 50)
    Lastname = models.CharField(max_length = 50)
    Tribe = models.CharField(max_length = 50)
    Religion = models.CharField(max_length = 50)
    Date_of_birth = models.DateField()
    Current_Address = models.CharField(max_length = 50)


    def __str__(self):
        return self.Firstname

这是我要从中检索数据的临床测试模型

class Clinical_test(models.Model):
    child = models.ForeignKey(Child_detail, on_delete = models.CASCADE) 
    Test_type = MultiSelectField(max_length=100,choices=test_type,max_choices=30)
    Test_date = models.DateTimeField()
    Next_schedule_test_date = models.DateField(blank=True)

    def __str__(self):
        return str(self.Test_type)

这是我的views.py

def more_about_child(request,pk):
    child = get_object_or_404(Child_detail,pk=pk)
    context={
        'child':child,        
    }
    return render(request,'functionality/more.html',context)

这是我的template.html,它将用于显示检索到的数据

<div class="container" style="margin-top:20px">
    <div class="col-md-12" style="background-color:rgb(44, 44, 3);color:white">
        <h4>clinical test</h4>
    </div>
    <div class="row">
        <div class="col-md-3">
            <p>First name: <b>{{clinical.child.Test_date}}</b> </p>
        </div>
        <div class="col-md-3">
            <p>Last name: <b>{{child.Lastname}}</b> </p>
        </div>
        <div class="col-md-3">
            <p>Tribe: <b>{{child.Tribe}}</b> </p>
        </div>
        <div class="col-md-3">
            <p>Religion: <b>{{child.Religion}}</b> </p>
        </div>
        <div class="col-md-3">
            <p>Religion: <b>{{child.Date_of_birth}}</b> </p>
        </div>
        <div class="col-md-3">
            <p>Religion: <b>{{child.Current_Address}}</b> </p>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

这是循序渐进的解决方案-(据我了解您的需求)

  1. 首先使用pk从Child细节类中查询孩子

    child_detail = Child_detail.objects.get(pk = pk)

  2. 现在,从Clinical_test查询

    child = Clinical_test.objects.filter(Child_detail = child_detail)

此后,您可以将child发送到上下文。

相关问题