【问题标题】:Django_Tables returning NonType object is not iterable Error返回 NonType 对象的 Django_Tables 是不可迭代的错误
【发布时间】:2020-02-03 21:01:10
【问题描述】:

我坚持使用 django_tables2。我打算使用查询集显示一个简单的表。模型中的数据正在 djangoAdmin 中显示。我不知道错误/错误来自哪里,以前该应用程序运行良好。 Django 表版本:_django-tables2 2.2.1

我的模型.py

    class PM03(models.Model):
        date_done=models.DateField()
        ticket=models.CharField(unique=True,max_length=100)
        site_code=models.ForeignKey(Sites,on_delete=models.PROTECT)
        site_name=models.ForeignKey(Sites,on_delete=models.PROTECT,related_name='pm_site_name',to_field='site_name')
        spare_replaced_1=models.ForeignKey(Asset,related_name='pm_spare_replaced_1',on_delete=models.CASCADE,blank=True,null=True)
        spare_replaced_2=models.ForeignKey(Asset,related_name='pm_spare_replaced_2',on_delete=models.CASCADE,blank=True,null=True)
        spare_replaced_3=models.ForeignKey(Asset,related_name='pm_spare_replaced_3',on_delete=models.CASCADE,blank=True,null=True)
        rehabilitation=models.TextField(null=True,blank=True,help_text="indicate work done")
        saved_by=models.ForeignKey(User,on_delete=models.PROTECT)

        def __str__(self):
            return self.ticket,self.site_name
        class Meta:

            verbose_name='PM03'
            verbose_name_plural='PM03'
my view.py
```class TableView(tables.SingleTableView):
    table_class = Asset_table
    queryset = Work_Orders_CR.objects.all()
    template_name = "test.html"
```
my tables.py
```class Asset_table(tables.Table):
    class Meta:
         model=Work_Orders_CR
    template_name = "django_tables2/bootstrap4.html"
   ```


Template error:

在模板 C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\IENG_MIS\templates\test.html 中,第 111 行出错 “NoneType”对象不可迭代

   101 :                 <div class="row" style="margin-top: 1em; margin-left: 1mm">
   102 :                     
   103 :                         
   104 :                             <a class="btn btn-primary" href="{% url 'admin:index' %}">Inventory Manager</a>
   105 :                             
   106 :                     </div>
   107 :                 {% block maincontent %}
   108 :                 
   109 :                      <div class="bg-light table-resposive-lg">
   110 :                           <table id="asset_table" style="width:100%;" class="table table-hover sortable">
   111 :                               {%render_table table %} 
   112 : 
   113 :                           </table>
   114 :                      </div>
   115 :                 </div>
   116 :                  {% endblock %}
   117 : 
   118 :             </div>
Traceback:

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\base.py" in _get_response
  145.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\core\handlers\base.py" in _get_response
  143.                 response = response.render()

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\response.py" in render
  106.             self.content = self.rendered_content

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\response.py" in rendered_content
  83.         content = template.render(context, self._request)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\backends\django.py" in render
  61.             return self.template.render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
  171.                     return self._render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in _render
  163.         return self.nodelist.render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\loader_tags.py" in render
  53.                 result = self.nodelist.render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django_tables2\templatetags\django_tables2.py" in render
  159.             template = select_template(template_name)

File "C:\Users\Rigelsolutions\source\repos\management_information_system\management_information_system\mis_env\lib\site-packages\django\template\loader.py" in select_template
  39.     for template_name in template_name_list:

Exception Type: TypeError at /test
Exception Value: 'NoneType' object is not iterable

【问题讨论】:

  • 发布回溯
  • 您好,刚刚做了

标签: django django-tables2


【解决方案1】:

在您的tables.py 中,您将Work_Orders_CR 称为表的模型,但模型不应该是PM03 吗?这似乎是拥有您的数据的模型。

【讨论】:

    猜你喜欢
    • 2011-10-04
    • 2021-08-21
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2016-09-11
    • 2019-01-12
    相关资源
    最近更新 更多