Consulta campos anidados

4 views
Skip to first unread message

Diego Baulde

unread,
Feb 22, 2022, 1:19:18 PM2/22/22
to djan...@googlegroups.com
Estoy usando Smart Selects en Django 3.2, para realizar lo de llenar un campo con datos de otra tabla, y tengo un problema con el modelo.

Importo el smart:
from smart_selects.db_fields import ChainedForeignKey, ChainedManyToManyField

Ahora tengo el modelo Tipomuestra:
class Tipomuestra(models.Model):
tipo_muestra = models.CharField(max_length=45)
matriz = models.ForeignKey(Matriz, models.DO_NOTHING)
class Meta:
managed = False
db_table = 'tipomuestra'
def __str__(self):
return str(self.tipo_muestra)

Y el modelo Muestra:

class Muestra(models.Model):
departamento_id = models.PositiveIntegerField()
numero = models.PositiveIntegerField()
tipo_prestacion = models.CharField(max_length=45)
entrada = models.CharField(max_length=45)
nro_cert_cadena_custodia = models.CharField(max_length=45, blank=True, null=True)
matriz = models.ForeignKey(Matriz, models.DO_NOTHING)
tipomuestra = ChainedForeignKey(
Tipomuestra,
chained_field="matriz",
chained_model_field="matriz")


Y cuando ejecuto me arroja el siguiente error:

  File "/Library/WebServer/Documents/django/dsa/lab/models.py", line 432, in Muestra
    Tipomuestra,
NameError: name 'Tipomuestra' is not defined


Cual podrá ser el error? Alomejor lo puedo hacer con otro modulo, recibo sugerencias.
Desde ya muchas gracias

Gonzalo V

unread,
Feb 22, 2022, 2:15:57 PM2/22/22
to djan...@googlegroups.com
puede ser el orden del models, primero define Typomuestra y luego Muestra
Saludos,
Gonzalo


--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a django-es+...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/django-es/CAJFjm8znPy3uL1VA1HDWsWA6UJeRXLM%2BCVm5wSaznb1xBT%2BZ-w%40mail.gmail.com.

Francisco Pandol

unread,
Feb 22, 2022, 3:28:28 PM2/22/22
to djan...@googlegroups.com
No tiene nada que ver smart selects, esto es porque no estàs importando ese modelo Tipomuestra. Si están en el mismo archivo ponelo abajo de de Muestra.



--
Francisco Pandol
Reply all
Reply to author
Forward
0 new messages