error referenciando un id en Django



   AUTOR PREGUNTA

Publicado 20 noviembre 2014 - 00:59

Tengo el siguiente error:

QuerySet object has no attribute address


eso es del siguiente codigo:

bdns = Negocio.objects.filter(name='slow')
addx = bdns.address
addr = Direcc.objects.get(id=addx)

Que puedo hacer? Les dejo a continuacion el modelo para Negocio:

class Negocio(models.Model):
telef= PhoneNumberField()
address = models.ForeignKey(Direcc)
nombre= models.CharField(max_length=64)



¿Tienes la misma pregunta? Yo también

 

Publicado 20 noviembre 2014 - 18:46

Debes iterar el objeto con direccion:

addr = Address.objects.get(id=addx)

 

Publicado 20 noviembre 2014 - 18:47

Si quieres retornar un solo objeto debes usar Model.objects.get(). Para tus propositos creo que esto te puede ayudar:

bdns = Negocio.objects.filter(name='slow')
b = dbns[0]
the_address = b.address 
try: bdns = Negocio.objects.get(name='slow')
except Negocio.DoesNotExist:
bdns = None
except Negocio.MultipleObjectsReturned: bdns = None
if bdns is not None: the_address = bdns.address
print the_address.id
print the_address.street
print the_address.city 

   AUTOR PREGUNTA

Publicado 20 noviembre 2014 - 18:56

Gracias crack!