回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我已经没有办法解决int()的无效文本问题了。在</p>
<p>它最初是有效的,但比我改变了一些东西,现在我得到这个问题。我从一开始就设置了这个项目,并重新从头开始设置db,但它也没有帮助。在</p>
<p>这是我的代码:</p>
<p><strong>模型.py</strong></p>
<pre><code>from django.db import models
# Create your models here.
class Zone(models.Model):
zone_name = models.CharField(max_length = 10)
zone_number = models.CharField(max_length = 10)
class Meta:
ordering = ('zone_name',)
def __unicode__(self):
return self.zone_name
class Stage(models.Model):
stage_number = models.CharField(max_length = 10)
stage_name = models.CharField(max_length = 10)
zones = models.ManyToManyField(Zone, through='ZoneStage')
class Meta:
ordering = ('stage_number',)
def __unicode__(self):
return self.stage_number
class ZoneStage(models.Model):
zone = models.ForeignKey(Zone)
stage = models.ForeignKey(Stage)
value = models.PositiveSmallIntegerField(default=0)
class Meta:
ordering = ('zone',)
def __unicode__(self):
return '%s %s' % (self.zone, self.stage)
</code></pre>
<p><strong>视图.py</strong></p>
^{pr2}$
<p><strong>网址.py</strong></p>
<pre><code>from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='stage_list'),
url(r'^(?P<pk>\w+)/$', views.DetailView.as_view(), name='detail'),
]
</code></pre>
<p><strong>索引.html</strong></p>
<pre><code><table border="1">
<tr>
<td style="width:40px" >
<td style="width:100px">
{% for zone in zones|dictsort:"zone_name" %}
<td style="width:40px" align="center">{{ zone.zone_name }}</td>
{% endfor %}
</tr>
{% for stage in stages %}
<tr>
<td style="width:40px"><a href="{% url 'autostages:detail' stage %}">{{ stage.stage_number }}
</a></td>
<td style="width:40px">{{ stage.stage_name }}</td>
{% for zone in zones|dictsort:"zone_name" %}
<td style="width:40px" align="center">
{% for zs in stage.zonestage_set.all %}
{% if zs.zone == zone %} {{ stage.value}}{% endif %}
<!--{% if zs.zone == zone %} {{ zs.value}}{% endif %}-->
{% endfor %}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</code></pre>
<p><strong>详细信息.html</strong></p>
<pre><code><table border="1">
<tr>
<td style="width:40px"></td>
<td style="width:100px"></td>
{% for zone in zones|dictsort:"zone_name" %}
{{ zone }}
<td style="width:40px" align="center">{{ zone.zone_name }}</td>
{% endfor %}
</tr>
<td style="width:40px">{{ stages }}</td>
<td style="width:100px">{{ stages.stage_name }}</td>
{% for substage in stages.substage_set.all %}
<tr>
<td style="width:40px"></td>
<td style="width:40px">{{ substage.sub_name }}</td>
{% for zone in zones|dictsort:"zone_name" %}
<td style="width:40px" align="center">
{% for zss in substage.zonesubstage_set.all %}
{% if zss.zone == zone %} {{ zss.value}}{% endif %}
{% endfor %}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</code></pre>
<p>Django回溯:</p>
<pre><code>Environment:
Request Method: GET
Request URL: http://localhost:8000/autostages/S1/
Django Version: 1.8.4
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'autostages')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')
Traceback:
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
71. return self.dispatch(request, *args, **kwargs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
89. return handler(request, *args, **kwargs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/views/generic/detail.py" in get
115. self.object = self.get_object()
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/views/generic/detail.py" in get_object
38. queryset = queryset.filter(pk=pk)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/query.py" in filter
679. return self._filter_or_exclude(False, *args, **kwargs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
697. clone.query.add_q(Q(*args, **kwargs))
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
1309. clause, require_inner = self._add_q(where_part, self.used_aliases)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
1337. allow_joins=allow_joins, split_subq=split_subq,
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
1208. condition = self.build_lookup(lookups, col, value)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_lookup
1101. return final_lookup(lhs, rhs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__
101. self.rhs = self.get_prep_lookup()
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup
139. return self.lhs.output_field.get_prep_lookup(self.lookup_name, self.rhs)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_lookup
727. return self.get_prep_value(value)
File "/home/dkr103/Coding/projects/env1/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_value
985. return int(value)
Exception Type: ValueError at /autostages/S1/
Exception Value: invalid literal for int() with base 10: 'S1'
</code></pre>