Django (django-rest-framework) с автозаполнением Bootstrap. Filed Nameing

Я хочу автошаблонировать поле.

Но я не могу понять, как я могу добиться должного результата, потому что я еще не знаю, что является промышленным стандартом.

Похоже, что Bootstrap Autocomplete ожидает определенного именования поля как это. Я думаю, что это жестко закодировано. (по крайней мере, "текст"):

[
    { "value": 1, "text": "Google Cloud Platform" },
    { "value": 2, "text": "Amazon AWS" },
    { "value": 3, "text": "Docker" },
    { "value": 4, "text": "Digital Ocean" }
]

Как я могу изменить/маскировать имена файлов с ['id','provider'] на ['value','text'] на стороне Django?

Допустим, у меня есть:

#modell
class CloudProviders(models.Model):
    provider = models.CharField(max_length=255, blank=True, null=True)
    #id come by default
    ...

#Serializer
class CloudProvidersAutocompleteSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = CloudProviders
        fields = ['id','provider']
        
#view
class  CloudProvidersAutocomplete(viewsets.ModelViewSet):
    model = CloudProviders
    serializer_class = CloudProvidersAutocompleteSerializer
    def get_queryset(self):
        query= self.request.query_params.get('search')
        if query :
            data = CloudProviders.objects.filter(provider__contains=query)
            return  data

Не стоит больше открывать этот вопрос. Основная идея заключалась в том, чтобы добавить дополнительное свойство к модели, которое предоставляет необходимую информацию.

модель

class CloudProviders(models.Model):
    provider = models.CharField(max_length=255, blank=True, null=True)
    #id come by default

    def _getProvider (self):
    return self.provider 

    text = property(_getProvider )

    ...
Вернуться на верх