【问题标题】:How to Count data between two relation in Django?如何计算 Django 中两个关系之间的数据?
【发布时间】:2021-01-03 04:43:48
【问题描述】:

我正在尝试从表中计算数据,我有 2 个表之间的关系,我想在 Django 模板中显示计数后的记录,请告诉我如何在 Django 中显示计数值。

这是我的 `models.py 文件...

class TestForm(models.Model):
    name=models.CharField(max_length=225)

class TestForm2(models.Model):
    name1=models.CharField(max_length=225)
    customer_data=models.ForeignKey(TestForm, related_name='GetRelatedname', on_delete=models.CASCADE, verbose_name='TestForm')

这是我的views.py 文件...

def myview(request, id):
   datas=TestForm.objects.all)
   template_name='test.html'
   context={'datas':datas}
   return render(request, template_name, context)

这是我的 Html 文件代码。

{% for a in datas.GetRelatedname.all %}
 {{a.customer_data.count}}
{% endfor %}

但它什么也没算,我想算customer_data

【问题讨论】:

  • 除非你在模型上做错了什么,否则你做得对。所以,你必须展示 models.py。
  • 请分享模型和视图。通常您不会在模板中编写(复杂的)查询,因为这是业务逻辑并且属于视图。
  • 请检查我的更新问题
  • 两个模型同名?

标签: django django-models django-forms django-views django-templates


【解决方案1】:

在视图中做逻辑部分,否则使用 MVC 有什么意义?像这样:

def myview(request, id):
    datas=TestForm.objects.select_related("customer_data").all()
    template_name='test.html'
    context={'datas':datas}
    return render(request, template_name, context)

customer_data是外键,不能算外键。 TestForm 的一个实例将只有一个customer_data。并使模型名称不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多