【问题标题】:django serialize exclude primary key for some reasondjango serialize 由于某种原因排除主键
【发布时间】:2019-12-21 22:37:01
【问题描述】:

我的模型如下:

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 字段!为什么会这样?

【问题讨论】:

  • 您是否尝试过更改“uid”字段的名称?
  • uid 字段是 pk 出来的吗?

标签: django django-models django-serializer


【解决方案1】:

您使用 primary_key=True 将字段 uid 设置为 Primary Key,在输出中表示为 pk JSON。

"pk": 1576966788的值代表uid字段的值


不能在 fields 中包含 uid 字段。如果您想对数据进行更多自定义,请使用 DRF Serializers of Django REST Framework

【讨论】:

    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2021-08-05
    • 2021-04-13
    相关资源
    最近更新 更多