Django Models фильтрует только последние записи

Я разрабатываю CRM с использованием Django, моя цель - получить список только последних записей модели, мои модели выглядят следующим образом

class Rapport(models.Model):
    added=models.DateField(default=timezone.now,blank=True,db_index=True)
    user=models.ForeignKey(User,on_delete=models.CASCADE)
    image=models.ImageField(upload_to=upload_location)
    image2=models.ImageField(blank=True,null=True,upload_to=upload_location2)
    can_update=models.BooleanField(default=False)
    note=models.PositiveIntegerField(default=0,db_index=True)
    observation=models.TextField(blank=True,null=True)


class Visite(models.Model):
    rapport=models.ForeignKey(Rapport,on_delete=models.CASCADE)
    observation=models.TextField()
    medecin=models.ForeignKey(Medecin,on_delete=models.CASCADE)
    produits=models.ManyToManyField(Produit,through='produits.ProduitVisite')
    priority=models.PositiveIntegerField(default=0,db_index=True)


class Medecin(models.Model):
    nom=models.CharField(max_length=255,db_index=True)
    telephone=models.CharField(max_length=10)
    email=models.EmailField(blank=True,null=True)
    commune=models.ForeignKey(Commune,on_delete=models.CASCADE)
    adresse=models.CharField(max_length=255)
    flag=models.BooleanField(default=False)
    updatable=models.BooleanField(default=True)
    contact=models.CharField(max_length=255,blank=True,null=True)
    users=models.ManyToManyField(User)

Я хочу получить только последний объект Visite каждого Medecin .

Может этот метод даст вам то, что вы хотите :

medecin_last_visit_ids = Medecin.objects.values('id','visite__id').order_by('-visite__id').distinct('id')

`

Вернуться на верх