Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
1422 Widoki

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



Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

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

Powiązane posty Odpowiedzi Widoki Czynność
1
lip 25
1855
4
kwi 25
7844
8
sty 25
6844
9
kwi 25
3994
1
kwi 25
1532