Tengo un proyecto django que tiene dos aplicaciones, una es AppA
y AppB
. Ahora AppA
tiene un modelo ModelA
al que hace referencia el modelo ModelB
en AppB
, utilizando modelA = models.ForeignKey(ModelA, related_name='tricky')
búsqueda inversa Django por ForeignKey
ahora en mi opinión para AppA
, cuando muestra ModelA
, hago un get_object_or_404(ModelA, pk=prim_id)
. Entonces quiero obtener todos los ModelB
s que tienen una clave externa que apunta a ModelA
.
Documentación dice que debería hacer un mb = ModelB.objects.get(pk=prim_id)
continuación mb.modela_set.all()
embargo, fracasó en la mb.modela_set
, y dice "ModelB object has no attribute 'suchsuch'"
. Observe que agregué el campo related_name
a ForeignKey, así que probé con eso también, incluyendo mb.tricky.all()
y mb.tricky_set.all()
en vano.
Ah, y he especificado un administrador diferente para AppA
donde hago objects = MyManager()
que devuelve la consulta normal pero con un filtro aplicado.
¿Cuál podría ser el problema? ¿Cuál es la forma preferida de obtener ModelB
haciendo referencia a ModelA
?
Ah, lo eché a perder, debería haber llamado a ModelA.tricky.all() para que los modelos se refirieran a ModelA ... en lugar de lo que tenía era ModelB.tricky.all() Gah. – rapadura
Si crees que describiste tu pregunta incorrectamente, edítala para que esté correcta. ¡También puede incluir su código de administrador! –
@lazerscience, Nah lo describí correctamente. – rapadura