我是一个完全的新手,所以请容忍我。我从来没有使用过OOP或框架。
我正在创建一个簿记系统,我希望分类账按其所属类别显示。这是我的模型,它似乎工作:
class COAGroup(models.Model):
Name = models.CharField(max_length=200)
def __str__(self):
return self.Name
class Ledger(models.Model):
Name = models.CharField(max_length=200)
COAGroup = models.ForeignKey(COAGroup, on_delete=models.CASCADE)
def __str__(self):
return self.Name
我正在处理我的第一个视图,它应该按它们所属的类别列出所有分类帐。Eg
<h2>Some COAGroup Name</h2>
<ul>
<li>A ledger that belongs to this group</li>
<li>Another ledger that belonds to the group</li>
<li>And another</li>
</ul>
<h2>Another COAGroup</h2>
<ul>
<li>A ledger that belongs to this second group</li>
<li>Another ledger</li>
</ul>
我在views.py中编写了以下视图:
def showledgers(request):
COAGroups = COAGroup.objects.all()
Ledgers = Ledger.objects.all()
context = {
"COAGroups":COAGroups,
"Ledgers":Ledgers,
}
return render(request,"ListLedgers.html",context)
我已经设法让分类账显示在ListLedgers.html,但我不知道如何让他们按COA组列出,因为我的例子。
谢谢你,谢谢!
1条答案
按热度按时间6za6bjd01#
在你看来,你最好已经**
.prefetch_related(…)
**[Django-doc]相关的Ledger
s:然后,在模板中,您可以在
COAGroups
上进行排序,并为每个这样的组在相关的.ledger_set
上进行排序:注意:通常Django模型中字段的名称是用 snake_case 而不是 PerlCase 写的,所以应该是:
name
而不是Name
。