如何在使用django.core.serializers
创建的JSON中添加Model的属性以在AJAX
调用中返回?
我有一个模特:
class MyModel(models.Model):
...
@property
def property_field(self):
return some_value;
然后在视图中,我在 AJAX 调用中发送了这个模型的JSON。问题是,我不知道如何发送这个属性返回的值。我试过了
query_set = MyModel.objects.flter(...)
serializers.serialize('json', query_set, fields=('...', ... , 'a_property'))
但这样不行,怎么传递这个属性的值呢?
2条答案
按热度按时间hwazgwia1#
看起来没有subclassing your own serializer就没有简单的方法来实现这一点,因为默认的序列化器只通过db字段。
k3fezbri2#
上一个答案是很久以前写的。正如预期的那样,现在有更简单的方法来完成此操作:
这将在序列化的
OrderedDict
中添加property_field
属性,您可以将其返回给客户端这个JSON序列化器应该工作:
(基于**Tim Edgar ^**发布的this answer,并使用this gist进行了更改)
用法: