Append fields using select query on Ecto

I found a way to do it.

def MyModel do
  schema "my_models" do
    field(:field0, :string)
    ...
    field(:field8, :string)

    field(:other_model_id, :integer)

    # Add a virtual field
    field(:other_model_value, :integer, virtual: true)
  end
end

def list() do
  MyModel
  |> join(:inner, [m], o in OtherModel, m.other_model_id == o.id)
  |> select([m, o], %{m | other_model_value: o.value})
end