如果我有Django的 - 如何獲得只有2場的組合對象與查詢集
Model.objects.all()
我想只有一個對象的任何content_object = FOO,OBJECT_ID = N。我怎樣才能做到這一點?假設我正在通過-datetime進行訂購。如果我可以在任何content_type = foo,object_id = N的查詢集中只有一個對象...它應該是最新的..如何指定我只想要1個對象的任何組合的content_object和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',)
然後採取查詢集:
checkins = CheckIn.objects.filter(
datetime__gte=datetime.datetime.now() -
datetime.timedelta(hours=24),
)
這可以給我所有的簽入的過去24小時內,但我只想要1個對象PER CONTENT_TYPE = foo和OBJECT_ID = N。
我想你可能會尋找更好獨特的支持,這是當前不可用,但有它補丁: HTTP: //code.djangoproject.com/ticket/6422 – mikl 2009-08-22 08:32:45