Ho un modello A
che contiene una relazione di chiave esterna generica con le opzioni limite per altri 3 modelli (considerali come B
, C
e D
) nella stessa app. E conosco i limiti delle chiavi esterne generiche che non possiamo usare filter
o get
o altre operazioni di queryset.Django Chiavi esterne generiche - buone o cattive considerando le prestazioni SQL?
in modo da ottenere qualcosa di simile, A.objects.filter(generic_object__name="foo")
devo filtrare gli oggetti B, C e D prima come set di query, scorrere su di loro e usare la relazione inversa generica per ottenere i A
oggetti come lista (non set di query).
Non sono sicuro di come influenzerà l'esecuzione SQL sul database poiché l'interrogazione non è diretta.
PS: Ho bisogno di utilizzare i tasti stranieri generici, quindi per favore suggerire per qualsiasi miglioramento SQL piuttosto che riprogettare i modelli.
Utilizzo di Django 1.4.3 e Postgres.
Quali sono esattamente le chiavi esterne "generiche"? –
Ho usato la stessa configurazione descritta qui, https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#id1 – Babu