你可以坚持使用q。
def get_filters_parameters(name=None, mother_age=None, surname_not=None):
filters = Q()
if name:
filters &= Q(name=name)
if mother_age:
filters &= Q(mother__age=mother_age)
if surname_not:
filters &= ~Q(surname=surname_not)
return filters
my_filters = get_filters_parameters(name='ululu')
qs = MyModel.objects.filter(my_filters)