django出于某种原因序列化排除主键

问题描述 投票:0回答:1

我的模型如下:

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

django django-models django-serializer
1个回答
0
投票

您通过使用uid将字段Primary Key设置为primary_key=True,在输出JSON中将其表示为pk。即,值[[["pk": 1576966788表示uid字段

的值
不可能在

[uid内包括fields字段。如果要对数据进行更多定制,请使用DRF Serializers]中的Django REST Framework

© www.soinside.com 2019 - 2024. All rights reserved.