Python 如何在Django中统计相关模型中的数据?
我试图计算相关模型的价值,但我无法计算,请告诉我我错在哪里 这是我的Python 如何在Django中统计相关模型中的数据?,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,我试图计算相关模型的价值,但我无法计算,请告诉我我错在哪里 这是我的models.py文件 class Project(models.Model): name=models.CharField(max_length= 225) slug=models.SlugField(null=True, unique=True) class Detail(models.Model): project = models.OneToOneField('Project', related
models.py
文件
class Project(models.Model):
name=models.CharField(max_length= 225)
slug=models.SlugField(null=True, unique=True)
class Detail(models.Model):
project = models.OneToOneField('Project', related_name='detailsofpro', on_delete=models.CASCADE, blank=True, null=True)
possession = models.CharField(max_length=50, null=True, blank=True, choices=(('Under Construction', 'Under Construction'),('New launch', 'New Launch'),('Ready To Move', 'Ready To Move')))
这是我的views.py
文件
def admin_view(request):
project = Project.objects.prefetch_related('project_details').annotate(Count('possession'))
return render(request, 'index.html', {'project': project})
这是我的index.html
friel
<p>{{project.project_details.possession.count}}</p>
{{project.project\u details.converage.count}
我想从<代码>详细信息<代码>模型中计算
占有量
,请告诉我如何计算您不需要任何。预取相关(…)
,注释(…)
。您可以做的是,在这里对每个值的Posession
进行聚合:
def admin_view(request):
possessions = Detail.objects.values('possession').annotate(
nprojects=Count('project')
).order_by('possession')
return render(request, 'index.html', {'possessions': possessions})
def管理视图(请求):
财产=详细信息。对象。值(‘财产’)。注释(
n项目=计数('项目')
).由(“占有权”)发出的命令
返回render(请求'index.html',{'attachments':attachments})
在模板中,您可以迭代记录:
{% for item in possessions %}
{{ item.possession }}: {{ item.nprojects }}<br>
{% endfor %}
{%用于物品%}
{{item.properties}}:{{{item.nprojects}}
{%endfor%}
你说的“计数<编码>占有权”是什么意思?计算细节的数量有什么区别?你的项目
不是一个单独的项目
,而是所有项目
中的查询集
,因此项目
的名称没有多大意义,{project}
也没有多大意义,或者类似的事情。事实上,我想计算一下在详细信息表格中拥有的字段中有多少项目正在建设中
,如果我想计算详细信息模型中的字段的可用性,我会在什么时候做……您可以使用类似的技术来替换拥有
和中的可用
。值(…)
,.order\u by(…)
和在模板中。您的意思是说我需要为此创建另一个查询…@msginfosys:是的。在同一个查询中可能吗,因为这两个字段在同一个模型中都可用。。。