Django: união de diferentes conjuntos de consultas no mesmo modelo

Estou programando uma pesquisa em um modelo e tenho um problema.

Meu modelo é quase como:

class Serials(models.Model):
    id = models.AutoField(primary_key=True)
    code = models.CharField("Code", max_length=50)
    name = models.CharField("Name", max_length=2000)

e eu tenho nas tuplas do banco de dados como estas:

1   BOSTON   The new Boston
2   NYT      New York journal
3   NEWTON   The old journal of Mass
4   ANEWVIEW The view of the young people

Se eu procurar a stringnew, o que eu quero ter é:

primeiro onames que começam com a stringentão ocodes que começam com a stringentão onames que contêm a stringentão ocodes que contêm a string

Portanto, a lista anterior deve aparecer da seguinte maneira:

2   NYT      New York journal
3   NEWTON   The old journal of Mass
1   BOSTON   The new Boston
4   ANEWVIEW The view of the young people

A única maneira que encontrei para obter esse tipo de resultado é fazer pesquisas diferentes (se eu colocar "OR" em uma única pesquisa, perco a ordem que desejo).

Meu problema é que o código do modelo que mostra o resultado é realmente redundante e honestamente muito feio, porque tenho que repetir o mesmo código para todos os 4 conjuntos de consultas diferentes. E o pior é que não posso usar a paginação!

Agora, como a estrutura dos diferentes conjuntos de consultas é a mesma, estou pensando se há uma maneira de juntar os 4 conjuntos de consultas e fornecer ao modelo apenas um conjunto de consultas.

questionAnswers(2)

yourAnswerToTheQuestion