我在返回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]
返回'['
。我需要能够像普通字典或列表一样单独获取元素。发生了什么事?
答案 0 :(得分:0)
我找到了解决方案。
在我的javascript文件var content = JSON.parse(json.game_frame)
中。
它创建了很好的浏览对象。