微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库错误:类型字符变化的值太长20

如何解决数据库错误:类型字符变化的值太长20

解决方案:- 我删除了导致此问题的迁移 .py 文件。现在可以使用相同的代码创建一个新应用。

即使我为 CharField 设置的 max_length 为 200,我也不知道为什么我会收到一个variable(20) 错误 我查看了所有其他帖子,所有帖子都对值的长度有疑问。 但是,即使我在名称字段中输入“abc”,它也会给我这个错误。任何帮助表示赞赏。谢谢!

Django 版本:3.1.5 Python 版本:3.8.5

from django.db import models
from django.contrib.gis.db import models
from django.db.models import Manager as GeoManager

# Create your models here.
class Incidences(models.Model):
    name = models.CharField(max_length=200)
    location = models.PointField(srid=4326)
    objects = GeoManager()
    
    def _str_(self):
        return self.name
Traceback (most recent call last):
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\backends\utils.py",line 84,in _execute
    return self.cursor.execute(sql,params)

The above exception (value too long for type character varying(20)
) was the direct cause of the following exception:
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\core\handlers\exception.py",line 47,in inner
    response = get_response(request)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\core\handlers\base.py",line 181,in _get_response
    response = wrapped_callback(request,*callback_args,**callback_kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\contrib\admin\options.py",line 614,in wrapper
    return self.admin_site.admin_view(view)(*args,**kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\utils\decorators.py",line 130,in _wrapped_view
    response = view_func(request,*args,**kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\views\decorators\cache.py",line 44,in _wrapped_view_func
    response = view_func(request,**kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\contrib\admin\sites.py",line 233,in inner
    return view(request,**kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\contrib\admin\options.py",line 1653,in add_view
    return self.changeform_view(request,None,form_url,extra_context)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\utils\decorators.py",line 43,in _wrapper
    return bound_method(*args,line 1534,in changeform_view
    return self._changeform_view(request,object_id,extra_context)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\contrib\admin\options.py",line 1580,in _changeform_view
    self.save_model(request,new_object,form,not add)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\contrib\admin\options.py",line 1093,in save_model
    obj.save()
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\base.py",line 753,in save
    self.save_base(using=using,force_insert=force_insert,File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\base.py",line 790,in save_base
    updated = self._save_table(
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\base.py",line 895,in _save_table
    results = self._do_insert(cls._base_manager,using,fields,returning_fields,raw)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\base.py",line 933,in _do_insert
    return manager._insert(
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\manager.py",line 85,in manager_method
    return getattr(self.get_queryset(),name)(*args,**kwargs)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\query.py",line 1254,in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\models\sql\compiler.py",line 1397,in execute_sql
    cursor.execute(sql,params)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\backends\utils.py",line 98,in execute
    return super().execute(sql,line 66,in execute
    return self._execute_with_wrappers(sql,params,many=False,executor=self._execute)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\backends\utils.py",line 75,in _execute_with_wrappers
    return executor(sql,many,context)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\backends\utils.py",params)
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\utils.py",line 90,in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\anuj\geo_django_tutorial\tutorial_geodjango\lifeingis\lib\site-packages\django\db\backends\utils.py",params)

Exception Type: DataError at /admin/reporter/incidences/add/
Exception Value: value too long for type character varying(20)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。