Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
1466 Näkymät

I have a float field called "price". I want to import the data from spreadsheet. the data is from user. assume the data is not clean and need to be handled first, how can I handle if there is foreign symbol in the data?


for example. in the first row, the price should be empty. but the user fill it with "-". then this error should appear "Column price contains incorrect values (value: -)"


before it tries to test, I want to handle it first by replacing all characters into either empty or numeric


I already tried this


    @api.model
    def create(self, vals_list):
        for val in vals_list:
            for v in val:
                if val[v] in ['-', ' ']:
                    val[v] = ''

but the error when importing still appear



Avatar
Hylkää
Paras vastaus

Hi,

It is a float field so try to update it with 0.0

you can re-write the code like this


@api.model

    def create(self, vals_list):

        for val in vals_list:

            for v in val:

                if val[v] in ['-', ' ']:

                    val[v] = 0.0


or try to update the spreadsheet value as 0.0 ie replace the - value with 0.0


Hope it helps

Avatar
Hylkää
Tekijä

Thanks for the reply. Your answer is indeed working and I tested it. But after several days, I found that I only need to change from @api.model to @api.model_create_multi. And it's working as well.

Both is working. I don't know which is more proper

Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
1
heinäk. 25
1902
4
huhtik. 25
7933
8
tammik. 25
6934
9
huhtik. 25
4045
1
huhtik. 25
1593