Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: Getting "INVALID_VALUE_FOR_COLUMN" with typecast = true for a Single Select field

361 0
cancel
Showing results for 
Search instead for 
Did you mean: 
Richard_Quintan
5 - Automation Enthusiast
5 - Automation Enthusiast

Hello there, I'm trying to write data from one base to another through Airtable's API. My JSON is something like this:

 

 

let body = {
  "fields":{
        "prod_serv_cia_id": inputConfig.cia_id[0],
        "NroParte": inputConfig.codigo[0],
        "DescripCorta": inputConfig.descrip[0],
        "DescripLarga": inputConfig.descrip[0],
        "Marca": inputConfig.marca[0],
        "Cantidad": inputConfig.disp[0],
        "Costo": inputConfig.costo[0],
        "AlmacenesScript": inputConfig.cia[0],
        "StatusProducto":[
          { "id": "selq********yr", "name": "1. Producto seleccionado" }
        ],
        "typecast": true
        },  
}

 

 

And the response I'm getting from the Airtable's API is:

 

 

{error: Object}
error: Object
type: "INVALID_VALUE_FOR_COLUMN"
message: "Cannot parse value for field StatusProducto"

 

 

The "StatusProducto" field is:

 

 

{id: "fld*******j9", name: "StatusProducto", description: "", type: "singleSelect", options: Object…}
id: "fld*******j9"
name: "StatusProducto"
description: ""
type: "singleSelect"
options: Object
isComputed: false

 

 

So, what can I do with that field in order to send the JSON correctly and write a new record in that Single Select field? Thanks in advance for your help!

1 Reply 1
AllyssonF
4 - Data Explorer
4 - Data Explorer

Hi,

It seems that quite some time has passed without anyone answering your question...

I was struggling with the same issue but using Python script and pyairtable package. No matter how you declare your JSON object it will fail raising INVALID_VALUE_FOR_COLUMN when using 'api.table' method if you have a single select field...

I just gave a try to pyairtable.orm module and now it is working...

Just an example of what I did:

from pyairtable.orm import Model, fields as F

class Logs(Model):
    status = F.SelectField('Status')
    start = F.TextField('Start')
    end = F.TextField('End')
    duration = F.TextField('Duration')
    notes = F.TextField('Notes')

    class Meta:
        base_id = "YOUR_BASE_ID"
        table_name = "YOUR_TABLE_NAME"
        api_key = "YOUR_API_KEY"

new_log = Logs(
    status = 'InProgress', # Possible Values: InProgress | Done | Failed
    start = 'Date Here',
    end = 'Date Here',
    duration = 'Date Here',
    notes = 'Date Here',
)

new_log.save()

print(new_log.id)

 

I hope that it could help anyone facing the same issue...