То, что вы хотите, не предоставляется Django ORM, но вы можете использовать параметр where
, описанный в справочнике для QuerySet :
url = "http://foo_base_url.com/something_non_base_url"
Site.objects.extra(where=["%s LIKE CONCAT('%%',field,'%%')"], params=[url]).get()
Имейте в виду, что не существует стандартного метода конкатенации в DMBS , поэтому, если вы мигрируете, вам придется перенести этот код.
Единственным переносимым методом будет фильтрация с использованием Python:
sites = [site for site in Site.objects.all() if site.base_url in url]
хотя это, конечно, не идеально для больших массивов данных.