class Setting(models.Model):
key = models.CharField(max_length=255, primary_key=True)
data = JSONField(null=True, blank=True)
答案 0 :(得分:1)
在序列化器中,类似
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将处理所有通用的东西。 如果要在响应中添加额外字段,则可以使用序列化器methodfield()。在那里,您可以使用上述键
(或)您可以使用django -orm
您可以在序列化程序之外使用Django orm查询。
获取特定行
Settings.objects.get(key = 'key-value')
(仅当key唯一时,如果没有值,这将引发异常)
(或)
Settings.objects.filter(key = 'key-value')
(推荐。将为您提供所有结果。)
Settings.objects.all()
将为您提供所有记录
Settings.objects.filter(key = 'sdaf', data = 'sds')
包含键和数据的特定记录。
答案 1 :(得分:0)
使用此代码
id