сериализация django исключает первичный ключ по некоторым причинам - PullRequest
0 голосов
/ 22 декабря 2019

Моя модель выглядит следующим образом:

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! почему это происходит?

1 Ответ

2 голосов
/ 22 декабря 2019

Поле uid устанавливается как Первичный ключ с помощью primary_key=True, который представлен как pk в выходном JSON.

, т. Е. Значение "pk": 1576966788 представляет значение поля uid


Невозможно включить поле uid в fields. Если вам нужна дополнительная настройка данных, используйте Сериализаторы DRF из Django REST Framework

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...