Ich habe eine Situation, in der eine große Anzahl von Objekten einer bestimmten Klasse durchlaufen werden, und sie benötigen sehr viel Zeit für die Verarbeitung, da ich Daten mit select_related
nicht vorauswählen kann.Wie wählt man select_related mit GenericForeignKey in django?
Die Klasse in Frage geht, wie etwas unter
from django.contrib.contenttypes.models import ContentType
from django.db import models
class Offer(models.Model):
...
object_id = models.PositiveIntegerField(db_index = True)
content_type = models.ForeignKey(ContentType, db_index = True)
content_object = generic.GenericForeignKey('content_type', 'object_id')
...
ich versucht habe, wie unten select_related verwenden, aber es funktioniert offensichtlich nicht
offerList = Offer.objects.select_related('content_type', "content_object"
).filter(content_type=ContentType.objects.get_for_model(SomeObject),
object_id=someobject.id)
Also, wie kann ich select_related
mit GenericForeignKey verwenden im Django?
möglich Duplikat [Django: select \ _related und GenericRelation] (http://stackoverflow.com/questions/2939552/django-select-related -und-generische Beziehung) –