Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
1438 Lượt xem

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



Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Tác giả

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

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 7 25
1868
4
thg 4 25
7853
8
thg 1 25
6850
9
thg 4 25
3997
1
thg 4 25
1536