0
我想这一定很简单,但我一直在尝试几个小时,找不到任何帮助。Django 1.10指望模型ForeignKey
我有2个型号。一个用于模板类别,另一个为模板
我列出主页上的模板类别和每个类别我想显示有多少模板有这一类的外键。
我的代码如下:
Models.py
class TemplateType(models.Model):
type_title = models.CharField(max_length=60)
type_description = models.TextField()
file_count = models.ForeignKey('TemplateFile')
def __str__(self):
return self.type_title
def get_absolute_url(self):
return "/templates/%s/" %(self.id)
class TemplateFile(models.Model):
template_type = models.ForeignKey(TemplateType, on_delete=models.DO_NOTHING)
template_file_title = models.CharField(max_length=120)
template_file_description = models.TextField()
def __str__(self):
return self.template_file_title
Views.py
from django.shortcuts import HttpResponse
from django.shortcuts import render, get_object_or_404
from django.db.models import Count
from .models import TemplateType
from .models import TemplateFile
def home(request):
queryset = TemplateType.objects.all().order_by('type_title').annotate(Count('file_count'))
context = {
"object_list": queryset,
"title": "Home",
}
return render(request, "index.html", context)
的index.html
<div class="row">
{% for obj in object_list %}
<div class="template_type col-md-6">
<a href="{{ obj.get_absolute_url }}">
<h4>{{ obj.type_title }}</h4>
</a>
<p>{{ obj.type_short_description }}</p>
<button class="btn btn-primary" type="button">Templates <span class="badge">{{ obj.file_count__count }}</span></button>
</div>
{% endfor %}
</div>
有人可以帮忙吗?