Django models Django ValueError:以10为基数的int()的无效文本显示字符串字段内容,而不是使用ID值
请帮助我,我一直得到这个没有意义的错误 系统:PostGres DB上的Django 2.2(带夹层) 在我的模型中,我有一个外键字段:Django models Django ValueError:以10为基数的int()的无效文本显示字符串字段内容,而不是使用ID值,django-models,admin,inline,valueerror,fieldset,Django Models,Admin,Inline,Valueerror,Fieldset,请帮助我,我一直得到这个没有意义的错误 系统:PostGres DB上的Django 2.2(带夹层) 在我的模型中,我有一个外键字段: class Keyword(models.Model): site = models.ForeignKey(Site, related_name='sitekeywords', on_delete=models.CASCADE) keyword = models.CharField("Keyword", max_length
class Keyword(models.Model):
site = models.ForeignKey(Site, related_name='sitekeywords', on_delete=models.CASCADE)
keyword = models.CharField("Keyword", max_length=64)
def __str__(self):
return "%s" % (self.keyword)
class Meta:
verbose_name_plural = "Keywords"
注意:关键字CharField不需要唯一。
关键字模型上的ID由Django创建和管理。此关键字模型与具有显式ID字段的站点模型相关:
id=models.AutoField(“id”,blank=False,primary\u key=True)
在Admin中,当我尝试编辑一个站点(该站点的关键字编辑为内联)时,有时会出现ValueError,显示:
基数为10的int()的文本无效:“新元古代”
。。。
但是“新元古代”是一个关键字,代码应该使用关键字id,所以我很困惑。
注意,这只是一个示例,错误中的字符串可以是关系中的任何关键字\关键字字符串
这是我在forms.py中的内联表单:
class KeywordAdminForm(fforms.ModelForm):
class Meta:
model = Keyword
fields = ['keyword']
class KeywordInlineAdminForm(KeywordAdminForm):
pass
该错误表示在管理员表单生成fieldset.html时发生:
Error during template rendering
In template /d/app/venv/lib64/python3.6/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html, error at line 19
9 {% for field in line %}
10 <div{% if not line.fields|length_is:'1' %} class="fieldBox{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}>
11 {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %}
12 {% if field.is_checkbox %}
13 {{ field.field }}{{ field.label_tag }}
14 {% else %}
15 {{ field.label_tag }}
16 {% if field.is_readonly %}
17 <div class="readonly">{{ field.contents }}</div>
18 {% else %}
19 {{ field.field }}
20 {% endif %}
21 {% endif %}
22 {% if field.field.help_text %}
23 <div class="help">{{ field.field.help_text|safe }}</div>
24 {% endif %}
25 </div>
26 {% endfor %}
27 </div>
28 {% endfor %}
29 </fieldset>
模板呈现过程中出现错误
在template/d/app/venv/lib64/python3.6/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html中,第19行出现错误
9{第%行中的字段为%1}
10
11{%if not line.fields{124; length_是:'1'而不是field.is_readonly%}{{field.errors}{%endif%}
12{%if field.is_checkbox%}
13{{field.field}{{field.label_tag}}
14{%else%}
15{{field.label_tag}
16{%if field.is_readonly%}
17{{field.contents}
18{%else%}
19{{field.field}
20{%endif%}
21{%endif%}
22{%if field.field.help_text%}
23{{field.field.help}
24{%endif%}
25
26{%endfor%}
27
28{%endfor%}
29
Stacktrace如下所示:
Environment:
Request Method: GET
Request URL: http://ausgeol-dev.utas.edu.au/admin/ausgeolapp/site/4456/change/
Django Version: 2.2.16
Python Version: 3.6.8
Installed Applications:
('mezzanine.boot',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.redirects',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.sitemaps',
'django.contrib.gis',
'django.contrib.messages',
'dal',
'dal_select2',
'webapp',
'ausgeolapp',
'debug_toolbar',
'bootstrap',
'bootstrap4',
'bootstrap_datepicker_plus',
'jquery',
'vital_theme',
'vital_themeVT',
'mezzanine.conf',
'mezzanine.core',
'mezzanine.generic',
'mezzanine.pages',
'mezzanine.blog',
'mezzanine.forms',
'mezzanine.galleries',
'mezzanine.twitter',
'mezzanine.accounts',
'djgeojson',
'leaflet',
'django_tables2',
'django_filters',
'rest_framework',
'floppyforms',
'colorfield',
'compressor',
'filebrowser_safe',
'grappelli_safe',
'django.contrib.admin',
'django.contrib.staticfiles',
'django_comments')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'mezzanine.core.request.CurrentRequestMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'mezzanine.core.middleware.RedirectFallbackMiddleware',
'mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware',
'mezzanine.core.middleware.SitePermissionMiddleware',
'mezzanine.pages.middleware.PageMiddleware')
Template error:
In template /d/app/venv/lib64/python3.6/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html, error at line 19
invalid literal for int() with base 10: 'Neoproterozoic'
9 : {% for field in line %}
10 : <div{% if not line.fields|length_is:'1' %} class="fieldBox{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}>
11 : {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %}
12 : {% if field.is_checkbox %}
13 : {{ field.field }}{{ field.label_tag }}
14 : {% else %}
15 : {{ field.label_tag }}
16 : {% if field.is_readonly %}
17 : <div class="readonly">{{ field.contents }}</div>
18 : {% else %}
19 : {{ field.field }}
20 : {% endif %}
21 : {% endif %}
22 : {% if field.field.help_text %}
23 : <div class="help">{{ field.field.help_text|safe }}</div>
24 : {% endif %}
25 : </div>
26 : {% endfor %}
27 : </div>
28 : {% endfor %}
29 : </fieldset>
Traceback:
File "/d/app/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/d/app/venv/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response
145. response = self.process_exception_by_middleware(e, request)
File "/d/app/venv/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response
143. response = response.render()
File "/d/app/venv/lib64/python3.6/site-packages/django/template/response.py" in render
106. self.content = self.rendered_content
File "/d/app/venv/lib64/python3.6/site-packages/django/template/response.py" in rendered_content
83. content = template.render(context, self._request)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/backends/django.py" in render
61. return self.template.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
171. return self._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
150. return compiled_parent._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
150. return compiled_parent._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
150. return compiled_parent._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
188. return template.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
173. return self._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/loader_tags.py" in render
188. return template.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
173. return self._render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
209. nodelist.append(node.render_annotated(context))
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
309. return nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/defaulttags.py" in render
309. return nodelist.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
937. bit = node.render_annotated(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_annotated
904. return self.render(context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render
993. return render_value_in_context(output, context)
File "/d/app/venv/lib64/python3.6/site-packages/django/template/base.py" in render_value_in_context
972. value = str(value)
File "/d/app/venv/lib64/python3.6/site-packages/django/utils/html.py" in <lambda>
388. klass.__str__ = lambda self: mark_safe(klass_str(self))
File "/d/app/venv/lib64/python3.6/site-packages/django/forms/boundfield.py" in __str__
33. return self.as_widget()
File "/d/app/venv/lib64/python3.6/site-packages/django/forms/boundfield.py" in as_widget
93. renderer=self.form.renderer,
File "/d/app/venv/lib64/python3.6/site-packages/dal/widgets.py" in render
151. widget = super(WidgetMixin, self).render(name, value, attrs, **kwargs)
File "/d/app/venv/lib64/python3.6/site-packages/django/forms/widgets.py" in render
241. context = self.get_context(name, value, attrs)
File "/d/app/venv/lib64/python3.6/site-packages/django/forms/widgets.py" in get_context
678. context = super().get_context(name, value, attrs)
File "/d/app/venv/lib64/python3.6/site-packages/django/forms/widgets.py" in get_context
639. context['widget']['optgroups'] = self.optgroups(name, context['widget']['value'], attrs)
File "/d/app/venv/lib64/python3.6/site-packages/dal/widgets.py" in optgroups
141. self.filter_choices_to_render(selected_choices)
File "/d/app/venv/lib64/python3.6/site-packages/dal/widgets.py" in filter_choices_to_render
188. pk__in=[c for c in selected_choices if c]
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/query.py" in filter
892. return self._filter_or_exclude(False, *args, **kwargs)
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/query.py" in _filter_or_exclude
910. clone.query.add_q(Q(*args, **kwargs))
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py" in add_q
1290. clause, _ = self._add_q(q_object, self.used_aliases)
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py" in _add_q
1318. split_subq=split_subq, simple_col=simple_col,
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py" in build_filter
1251. condition = self.build_lookup(lookups, col, value)
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/sql/query.py" in build_lookup
1116. lookup = lookup_class(lhs, rhs)
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/lookups.py" in __init__
20. self.rhs = self.get_prep_lookup()
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/lookups.py" in get_prep_lookup
210. rhs_value = self.lhs.output_field.get_prep_value(rhs_value)
File "/d/app/venv/lib64/python3.6/site-packages/django/db/models/fields/__init__.py" in get_prep_value
972. return int(value)
Exception Type: ValueError at /admin/ausgeolapp/site/4456/change/
Exception Value: invalid literal for int() with base 10: 'Neoproterozoic'
环境:
请求方法:获取
请求URL:http://ausgeol-dev.utas.edu.au/admin/ausgeolapp/site/4456/change/
Django版本:2.2.16
Python版本:3.6.8
已安装的应用程序:
('mezzanine.boot',
“django.contrib.auth”,
“django.contrib.contenttypes”,
'django.contrib.redirects',
“django.contrib.sessions”,
“django.contrib.sites”,
“django.contrib.sitemaps”,
“django.contrib.gis”,
“django.contrib.messages”,
"达尔",,
“dal_select2”,
“网络应用程序”,
“ausgeolapp”,
“调试工具栏”,
“自举”,
“bootstrap4”,
“bootstrap\u datepicker\u plus”,
“jquery”,
“重要主题”,
“至关重要的事”,
“mezzanine.conf”,
“夹层。核心”,
“夹层。通用”,
“夹层。页面”,
“mezzanine.blog”,
“夹层形式”,
“夹层画廊”,
“夹层。推特”,
“夹层。账户”,
“djgeojson”,
“传单”,
“django_表2”,
“django_过滤器”,
“rest_框架”,
“floppyforms”,
“色域”,
“压缩机”,
“文件浏览器安全”,
“抓斗安全”,
“django.contrib.admin”,
“django.contrib.staticfiles”,
“django_评论”)
已安装的中间件:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
'mezzanine.core.request.CurrentRequestMiddleware',
“调试工具条.中间件.调试工具条中间件”,
'mezzanine.core.middleware.RedirectFallbackMiddleware',
'mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware',
'mezzanine.core.middleware.SitePermissionMiddleware',
'mezzanine.pages.middleware.PageMiddleware')
模板错误:
在template/d/app/venv/lib64/python3.6/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html中,第19行出现错误
以10为基数的int()的文字无效:“新元古代”
9:{第%行中的字段为%}
10 :
11:{%if not line.fields{124; length_是:'1'而不是field.is_readonly%}{{field.errors}{%endif%}
12:{%if field.is_checkbox%}
13:{field.field}{{field.label_tag}}
14:{%else%}
15:{field.label_tag}}
16:{%if field.is_readonly%}
17:{field.contents}
18:{%else%}
19:{field.field}
20:{%endif%}
21:{%endif%}
22:{%if-field.field.help_text%}
23:{field.field.help_text | safe}
24:{%endif%}
25 :
26:{%endfor%}
27 :
28:{%endfor%}
29 :
回溯:
文件“/d/app/venv/lib64/python3.6/site packages/django/core/handlers/exception.py”
34响应=获取响应(请求)
文件“/d/app/venv/lib64/python3.6/site-packages/django/core/handlers/base.py”位于\u get\u响应中
145response=self.process\u异常\u由\u中间件(e,请求)
文件“/d/app/venv/lib64/python3.6/site-packages/django/core/handlers/base.py”位于\u get\u响应中
143response=response.render()
render中的文件“/d/app/venv/lib64/python3.6/site packages/django/template/response.py”
106self.content=自渲染内容
呈现内容中的文件“/d/app/venv/lib64/python3.6/site packages/django/template/response.py”
83content=template.render(上下文、self.\u请求)
文件“/d/app/venv/lib64/python3.6/site-packages/django/template/b