返回非Type对象的Django_Tables不可迭代错误

问题描述 投票:0回答:1

ia只能使用django_tables2。我打算使用queryset显示一个简单的表。模型中的数据正在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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.