bekommen Wenn ichDjango - Wie nur 2 Objekt für eine Kombination von Feldern mit einem queryset
Model.objects.all()
habe ich möchte nur ein Objekt für jeden content_object = foo, object_id = N erhalten. Wie kann ich das machen? Sagen Sie, ich bestelle bis zum Spätesten. Wenn ich nur ein Objekt im Abfrage-Set für einen content_type = foo, object_id = N ... bekommen kann, sollte es das letzte sein. Wie kann ich angeben, dass ich nur 1 Objekt für eine beliebige Kombination aus content_object und object_id haben möchte?
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',)
Dann eine queryset zu nehmen:
checkins = CheckIn.objects.filter(
datetime__gte=datetime.datetime.now() -
datetime.timedelta(hours=24),
)
das mir alle der checkins innerhalb der letzten 24 Stunden geben kann, aber ich will nur 1 Objekt pro content_type = foo und object_id = N.
Ich denke, was Sie vielleicht suchen ist besser deutliche Unterstützung, die derzeit nicht verfügbar ist, aber es gibt einen Patch für sie: http: //code.djangoproject.com/ticket/6422 – mikl