В сериализаторе, что-то вроде этого
from rest_framework import serializers
from snippets.models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
class SettingsSerializer(serializers.ModelSerializer):
sample_filed = serializers.SerializerMethodField()
class Meta:
model = Settings
fields = ('key', 'data', 'sample_filed')
def get_sample_field(self):
""" a sample field function to demonstrate srialzer method"""
""" you can access all keys here as self.key "
return self.key + self.data
Примечание: - При использовании сериализатора модели вам просто нужно указать модель. тогда restframework будет обрабатывать все общие вещи.
Вы можете использовать serializer methodfield (), если вам нужно дополнительное поле в ответе. там вы можете использовать ключ, как указано выше
(или) вы можете использовать django -orm
Вы можете использовать запросы django orm вне сериализатора.
чтобы получить определенную строку
Settings.objects.get(key = 'key-value')
(только если ключ уникален. Это приведет к исключению, если значение отсутствует)
(или)
Settings.objects.filter(key = 'key-value')
(рекомендуется. Даст вам все результаты.)
Settings.objects.all()
выдаст вам все записи
Settings.objects.filter(key = 'sdaf', data = 'sds')
Специальные записи с ключом и данными.