Using the Search Filter with Entry Fields I've got an entry page and at the bottom I would like to show related products and then underneath that, related offers. 

As the main page entry isn't assigned to any categories I've tried to use a custom field and the search param to show 'related' entries and this works fine, BUT, when I try and make it dynamic, it doesn't pull through. I'm guessing this is some kind of parsing order and that the custom field isn't parsed before the loop is created.

This works fine: 

{# To exclude certain category #}
{% set categories = craft.categories.slug('not preferential') %}
{% set entries = craft.entries.section('offers').search('A1').relatedTo(categories) %}


But this doesn't when I try and make it dynamic:

{% set categories = craft.categories.slug('not preferential') %}
{% set entries = craft.entries.section('offers').search('{{ entry.model }}').relatedTo(categories) %}


I've also tried setting the variable first but it doesn't work:

{% set range = "{{ entry.model }}" %}
{% set categories = craft.categories.slug('not preferential') %}
{% set entries = craft.entries.section('offers').search(range).relatedTo(categories) %}


Hopefully this makes sense. Still in the basics I suppose of Craft but worth the learning curve.
{% set range = entry.model %}
{% set categories = craft.categories.slug('not preferential') %}
{% set entries = craft.entries.section('offers').search('title:' ~ range).relatedTo(categories) %}


If you are only searching titles I would add that in the search params as it will help the effectiveness of the search. In addition when setting a variable you do not need to use the {{}} syntax as it will automatically use the string representation of the the field if it is a text field.