【发布时间】:2014-01-22 09:50:19
【问题描述】:
也许这不是问题,但只是我不太了解如何使用您的框架(这是我第一次使用 python、django 和 rest_framework)。
我创建了一个简单的 serializers.WritableField
class JsonField(serializers.WritableField):
def to_native(self, value):
return json.loads(value)
def field_from_native(self, data, files, field_name, reverted_data):
return json.dumps(data.get(field_name, '{}'))
这个 JsonField 是这样使用的:
class QuestionCreationSerializer(serializers.ModelSerializer):
constraints = JsonField(required=False)
class Meta:
model = Question
exclude = ('group',)
in out DB 约束是这样的:
constraints = models.CharField(max_length=1024, default='{}', blank=True)
field_from_native 方法被正确调用,它正在返回(我已经检查过)我希望它返回的值。
问题是返回的值没有在使用 JsonField 的 Serializer 中使用。
如果我只是实现from_native(但我需要使用field_from_native),它会按预期完美运行。
你能解释一下为什么吗?
【问题讨论】:
-
你能告诉我们,你如何使用这个字段..
-
我已经用更多信息更新了这个问题
标签: python django django-rest-framework