2

在作者模型中:

century = models.ManyToManyField(Century)

鉴于:

a = get_object_or_404(Author.objects, id=id)

s = Author.objects.filter(century__in=a).order_by('?')[:3]

错误:

异常值:“作者”对象不可迭代

怎么了?作者可能属于两个世纪,我想从他的世纪/世纪中随机获得 3 位作者。

4

2 回答 2

6
a = get_object_or_404(Author.objects, id=id)

s = Author.objects.filter(century__in=a.century.all()).order_by('?')[:3]
于 2013-02-15T21:45:36.747 回答
3

get_object_or_404()作为第一个参数。例如

a = get_object_or_404(Author, id=id)

更新评论:

文档中的任何地方都没有提到它,但你是对的。事实上,django/shortcuts/__init__.py查看代码get_object_or_404()get_list_or_404()

嗯。你每天都能学到一些东西!

于 2013-02-15T21:47:15.093 回答