Порядок, в котором вы вводите допустимые значения в предложении "WHERE ir_model_fields.name in ()", никак не влияет на конечный результат.Вам нужно добавить предложение order by, если вы хотите, чтобы результаты запроса были в определенном порядке.
Поскольку требуемый порядок не является стандартным алфавитным, вам необходимо создать свой собственный порядок.
Если у вас где-то есть таблица с этими значениями, вы можете добавить в нее пользовательский столбец порядка сортировки, присоединиться к этой таблице и отсортировать по столбцу порядка сортировки.
Если естьэто не подходящая таблица, вам нужно создать свое собственное сортируемое значение в предложении ORDER BY, что-то вроде этого.В столбце else все остальные значения находятся внизу.
<rest of query here>
ORDER BY
case when ir_model_fields.name = 'status' then 1
when ir_model_fields.name = 'order' then 2
when ir_model_fields.name = 'customer' then 3
when ir_model_fields.name = 'pet_name' then 4
when ir_model_fields.name = 'services' then 5
when ir_model_fields.name = 'amount' then 6
when ir_model_fields.name = 'msg' then 7
else 8
end