gpt4 book ai didi

python - 为什么 Django 序列化返回字符串

转载 作者:行者123 更新时间:2023-12-03 19:37:16 26 4
gpt4 key购买 nike

我在返回可浏览的表单时遇到问题 serializers.serialize .

我的型号:

class BowlingGame(models.Model):
Frame = models.PositiveSmallIntegerField()
FrameRow = models.PositiveSmallIntegerField()
Result = models.PositiveSmallIntegerField(blank=True, null=True)
StrikeSpare = models.PositiveSmallIntegerField(blank=True, null=True)
StrikeSpareInfo = models.CharField(max_length=1, blank=True, null=True)
Time = models.DateTimeField(blank=True, null=True)
GameId = models.PositiveIntegerField()
StateOfGame = models.PositiveSmallIntegerField(default=1)

class Meta:
ordering = ('GameId',)

def __str__(self):
return str(self.GameId)

我接下来要做的是:
>>> from django.core import serializers
>>> from django.db.models import Max
>>> from game.models import BowlingGame
>>> a = BowlingGame.objects.all().aggregate(Max('GameId'))['GameId__max']
>>> game_frame = BowlingGame.objects.filter(GameId=a)
>>> me = serializers.serialize('json', game_frame, fields=('Frame', 'FrameRow'))
>>> me
'[{"model": "game.bowlinggame", "pk": 2356, "fields": {"Frame": 1, "FrameRow": 1}}, {"model": "game.bowlinggame", "pk": 2357,......}}]'

这似乎是字符串
>>> me[0]
'['

我正在寻找查询集的第一个元素。

我尝试了更多的事情:
>>> me = serializers.serialize('json', [game_frame, ], fields=('Frame', 'FrameRow'))

AttributeError: 'QuerySet' object has no attribute '_meta'

我的问题:返回字符串是否正常?我如何浏览对象。事实上,我将它与 AJAX 一起使用,但它是一样的。 json.game_frame[0]返回 '[' .我需要能够像普通字典或列表一样单独获取元素。到底是怎么回事?

最佳答案

我只是找到一个解决方案。
在我的 javascript 文件中 var content = JSON.parse(json.game_frame) .
它创建了漂亮的可浏览对象。

关于python - 为什么 Django 序列化返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com