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
在tables.py
中,您将Work_Orders_CR
称为表格的模型,但是该模型不应该是PM03
吗?这似乎是具有您的数据的模型。