Django serializers只返回外键id
models.py
class Person(models.Model):
name = models.CharField(max_length=128)
num = models.IntegerField(blank=True,default=0)
class Expression(models.Model):
text = models.CharField(max_length=280,blank=True)
towhom = models.ForeignKey(Person,related_name="towhom")
fromwhom = models.ForeignKey(Person,related_name="fromwhom")
views.py
def Update(req,id):
response = HttpResponse()
response['Content-Type'] = "text/javascript"
response.write(serializers.serialize('json', Expression.objects.filter(pk__gt=id)))
return HttpResponse(response)
返回结果
[{"fields": {"towhom": 2, "text": "312312", "fromwhom": 4}, "model": "items.expression", "pk": 32}]
我想返回对用Person模型的名字,这要怎么弄?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
题外:既然题主用到了django-rest-framework,为什么不试一下mixins.UpdateModelMixin
看来只能自己写序列化函数来解决了
django.core.serializers ————如果只想要序列化一部分字段,可以为序列化程序指定字段参数,
添加一下fields,把想要返回的字段添加进去。
from django.core import serializers
data = serializers.serialize('xml', SomeModel.objects.all(), fields=('name','size'))
在本示例中,只有每个模型的名称和尺寸属性都将被序列化。