我对Django还比较陌生,面临一个我还无法解决的问题:
我有两个模型看起来像:
class Item(models.Model):
char1 = models.CharField(max_length=200)
char2 = models.CharField(max_length=200)
class Entry(models.Model):
item = models.ForeignKey(Item)
choice = models.IntegerField()
我已经在我的数据库中存储了许多项,我基本上希望在一个视图中随机遍历所有存储的项,并且对于每个项显示char1和char2,其中包含一个IntegerField和一个“next”按钮,该按钮在我的数据库中存储一个新条目(包含实际项和键入的integer),并将我指向下一个(随机)项。你知道吗
在研究过程中,我发现了表单向导和表单集,但这不是我想要的,向导需要多个表单模型,他可以连续显示,但我希望(随机)只显示一个模型(项目)的每个实例,并为每个实例存储一个条目。你知道吗
我希望有人能给我一个在哪里寻找的提示,因为我没有找到这个用例的文档/教程,而且由于我对Django不是很有经验,所以我现在还不能弄清楚。。。你知道吗
致以最诚挚的问候和感谢!你知道吗
根据您的标题判断,问题在于迭代单个(可能是随机/未排序的)模型中的多个项。你知道吗
如果我没弄错的话,你要找的是Pagination。从这篇文章中,一个小例子是:
尽管上面显示了一个列表,
Paginator
也可以在Django查询集上使用,并且它的功能被合并到Django模板中。你知道吗如果这不是你想要的,告诉我。你知道吗
加油。你知道吗
Paulo Bu的回答提供了一种方法,可以首先从Django的AP获得随机排序。关于您正在做的事情,最棘手的部分是保存页面加载之间项目的特定随机顺序并不是RESTful,因为这不是无状态的。默认情况下,您的随机排序查询集将在您提供请求后立即不存在,并且不能保证您将遍历所有项目,而不是获得重复和未命中。所以你要保存订单。有很多方法可以选择:
相关问题 更多 >
编程相关推荐