Si jeDjango - Comment obtenir seulement 2 objet pour une combinaison de champs avec un queryset
Model.objects.all()
Je veux qu'un seul objet pour tout content_object = toto, object_id = N. Comment puis je faire ça? Dites que je commande par -date-temps. Si je peux obtenir un seul objet dans le jeu de requête pour tout content_type = foo, object_id = N ... il devrait être le dernier. Comment spécifier que je veux seulement 1 objet pour une combinaison de content_object et object_id?
class CheckIn(models.Model):
...
owner = models.ForeignKey('auth.User')
datetime = models.DateTimeField(editable=False, auto_now=True)
...
# This is the object that should be geocoded, hopefully
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
class Meta:
ordering=('-datetime',)
Puis prendre un queryset:
checkins = CheckIn.objects.filter(
datetime__gte=datetime.datetime.now() -
datetime.timedelta(hours=24),
)
cela peut me donner tous les checkins au cours des dernières 24 heures, mais je veux seulement 1 objet PER content_type = toto et object_id = N.
Je pense que ce que vous cherchez peut-être est un meilleur soutien distinct, ce qui est actuellement disponible, mais il y a un patch pour elle: http: //code.djangoproject.com/ticket/6422 – mikl