Hello,

I've played a lot of time with Django and it's a great tool for basic query 
but I don't figure out how to play with Django to do a query spanning 
between a lot of models.

This is the query I do to display all Animals and their corresponding 
Vaccines with Encounter.status 'in-progress' and the Immunization date is 
in the futur.


    def current_with_futur_vaccines(self):

        return (

            Encounter.objects.filter(

                status="in-progress").filter(

                subject__immunizations__recorded__gte=datetime.now(),

            )

            .select_related("subject")

            .prefetch_related("subject__immunizations", "location")

        )


 {% for immunization in object.subject.immunizations.all %}

         {{ immunization }}

    {% endfor %}


The things is when I want to list the Immunizations from the query I get 
all the Immunizations for this animal and not only the Immunizations that 
have to take place in the futur like I said in the query. I guess it's 
because of the .all() and what I need is more something like 
Encounter.subject.immunization_set()


This is the model

  

    class Animal(models.Model):

        name = models.CharField(max_length=250)

    

    class Encounter(models.Model):

            subject = models.ForeignKey(Animal, on_delete=models.PROTECT)

            status = models.CharField(max_length=11)

        

    class Vaccine(models.Model):

            name = models.CharField(max_length=250)


    class Immunization(models.Model):

        subject = models.ForeignKey(

            Animal, on_delete=models.PROTECT, related_name="immunizations"

        )

        recorded = models.DateTimeField(default=timezone.now)

        vaccine = models.ForeignKey(Vaccine, on_delete=models.PROTECT)


Thanks for your help

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/7ba3b500-1a6f-41ef-ad34-d35adfe1e7bb%40googlegroups.com.

Reply via email to