【问题标题】:return random models in json format - django以 json 格式返回随机模型 - django
【发布时间】:2021-09-25 13:18:35
【问题描述】:

我需要从模型中以 json 格式返回随机数据,但是当我尝试 random.choice 时,我收到了错误 'Joke' object is not iterable

views.py

def random_page(request):
   random_joke = random.choice(Joke.objects.all())

   jokes_list = serializers.serialize('json', random_joke)
   return HttpResponse(jokes_list, content_type="text/json-comment-filtered")

models.py

from django.db import models

class Joke(models.Model):
    joke = models.TextField(max_length=1000)
    author = models.CharField(max_length=100, null=True)

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

【问题讨论】:

    标签: json python-3.x django


    【解决方案1】:

    实际上,问题是serializers.serialize 需要一个可迭代的对象,即可以迭代的对象。您正在传递不可迭代的单个对象。所以最好在 list 之类的可迭代对象中添加对象

    jokes_list = serializers.serialize('json', [random_joke])
    

    【讨论】:

    • 非常感谢。
    • Np。标题应该类似于序列化查询集的随机对象。
    猜你喜欢
    • 2011-01-16
    • 1970-01-01
    • 2018-01-09
    • 2020-01-21
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    相关资源
    最近更新 更多