django - django serialize 由于某种原因排除主键
问题描述
我的模型如下:
class PolicyRule(models.Model):
uid = models.IntegerField(default=0, primary_key=True, unique=True)
maxAmount = models.FloatField()
destinations = models.TextField()
由于某种原因,以下代码
rules_list = PolicyRule.objects.all()
paginator = Paginator(rules_list, 5)
rules = paginator.page(page)
rules_json = serialize('json', list(rules))
产生这个输出
"[{\"model\": \"webapp.policyrule\", \"pk\": 1576966788, \"fields\": {\"maxAmount\": 50.0, \"destinations\": \"ronen\"}}]"
没有 UID 字段!为什么会这样?
解决方案
您可以使用在输出 JSON中表示的字段将字段设置uid
为主键。即,该值表示字段的值primary_key=True
pk
"pk": 1576966788
uid
不能将uid
字段包含在fields
. 如果您想对数据进行更多自定义,请使用Django REST Framework的DRF 序列化器
推荐阅读
- c# - 如何在 C# 中编辑/更新数组列表值
- google-sheets - 仅查询谷歌表中的 nat 空列
- position - 'position()' 是否必须明确包含在此 Xpath 中?
- c - 使用 AES-128-CBC 和 Open SSL EVP 加密(语言 C)
- email - 我正在尝试使用托管在 heroku 上的烧瓶 API 发送一封自动电子邮件,我的 API 在本地主机上运行良好,但在访问时抛出错误
- mongodb - Mongodb在单行中获取计数
- php - 在php中使用邮件功能仅发送文本内容
- c# - 如何通过 Microsoft Graph API 从 driveItem 中删除下载/查看/编辑权限?
- blogger - 如何更改位置加载更多...博客中的评论
- javascript - 如何返回由 4 个对象组成的数组的前 2 个对象