【发布时间】:2021-09-07 03:59:57
【问题描述】:
我正在使用 Django 开发 CRM,我的目标是获取模型的最后记录列表,我的模型如下所示
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)
我只想获得每个 Medecin 的最后一个 Visite 对象,这样做的肮脏方式是这样的:
last_visites=[Visite.objects.filter(medecin=medecin)[-1] for medecin in Medcin.objects.all()]
【问题讨论】: