#29347: InternalError at /admin/foo/bar/taz/change/  Error in python: TypeError
DETAIL:  a float is required
-----------------------------------------+------------------------
               Reporter:  rvernica       |          Owner:  nobody
                   Type:  Uncategorized  |         Status:  new
              Component:  contrib.admin  |        Version:  2.0
               Severity:  Normal         |       Keywords:
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  0
                  UI/UX:  0              |
-----------------------------------------+------------------------
 I get the following error when accessing the detail page of my model in
 /admin/:

 {{{
 InternalError at /admin/foo/bar/taz/change/

 Error in python: TypeError
 DETAIL:  a float is required

 }}}

 The model is:

 {{{
 class Bar(models.Model):
     id = models.CharField(max_length=128, primary_key=True)
     modify_date = models.DateTimeField('date modified')
     change_date = models.DateTimeField('date changed')
     a = models.CharField(max_length=61)
     b = models.CharField(max_length=61)

     def __str__(self):
         return "{}:{}".format(self.wafer, self.location)

 class BarAdmin(admin.ModelAdmin):
     fields = ('id', 'modify_date', 'change_date', 'a', 'b')
     readonly_fields = ('id', 'modify_date', 'change_date', 'a', 'b')
     list_display = ('id', 'a', 'b', 'modify_date', 'change_date')
 }}}

 The backend is PostgreSQL 10 and the table used by the model is a Foreign
 Data Wrapper table. The list page works fine, it is just the detail page
 that is causing issues. Here is the table schema:

 {{{
 CREATE FOREIGN TABLE django.foo_bar (
     id          VARCHAR(128),
     modify_date TIMESTAMP,
     change_date TIMESTAMP,
     a       VARCHAR(61),
     b    VARCHAR(61)
 ) SERVER filesystem OPTIONS (...);
 }}}

 Here is the complete traceback:


 {{{
 Request Method: GET
 Request URL: http://cessna.labs.hpicorp.net:8000/admin/foo/bar/taz/change/

 Django Version: 2.0.2
 Python Version: 3.6.3
 Installed Applications:
 ['internal.apps.InternalConfig',
  'sers.apps.SersConfig',
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'django.contrib.postgres',
  'prettyjson']
 Installed Middleware:
 ['django.middleware.security.SecurityMiddleware',
  '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']



 Traceback:

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 _execute
   85.                 return self.cursor.execute(sql, params)

 The above exception (Error in python: TypeError
 DETAIL:  a float is required
 ) was the direct cause of the following exception:

 File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py"
 in inner
   35.             response = get_response(request)

 File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in
 _get_response
   128.                 response = self.process_exception_by_middleware(e,
 request)

 File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py" in
 _get_response
   126.                 response = wrapped_callback(request,
 *callback_args, **callback_kwargs)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/options.py" in
 wrapper
   574.                 return self.admin_site.admin_view(view)(*args,
 **kwargs)

 File "/usr/lib/python3.6/site-packages/django/utils/decorators.py" in
 _wrapped_view
   142.                     response = view_func(request, *args, **kwargs)

 File "/usr/lib/python3.6/site-packages/django/views/decorators/cache.py"
 in _wrapped_view_func
   44.         response = view_func(request, *args, **kwargs)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/sites.py" in
 inner
   223.             return view(request, *args, **kwargs)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/options.py" in
 change_view
   1556.         return self.changeform_view(request, object_id, form_url,
 extra_context)

 File "/usr/lib/python3.6/site-packages/django/utils/decorators.py" in
 _wrapper
   62.             return bound_func(*args, **kwargs)

 File "/usr/lib/python3.6/site-packages/django/utils/decorators.py" in
 _wrapped_view
   142.                     response = view_func(request, *args, **kwargs)

 File "/usr/lib/python3.6/site-packages/django/utils/decorators.py" in
 bound_func
   58.                 return func.__get__(self, type(self))(*args2,
 **kwargs2)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/options.py" in
 changeform_view
   1450.             return self._changeform_view(request, object_id,
 form_url, extra_context)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/options.py" in
 _changeform_view
   1471.             obj = self.get_object(request, unquote(object_id),
 to_field)

 File "/usr/lib/python3.6/site-packages/django/contrib/admin/options.py" in
 get_object
   719.             return queryset.get(**{field.name: object_id})

 File "/usr/lib/python3.6/site-packages/django/db/models/query.py" in get
   397.         num = len(clone)

 File "/usr/lib/python3.6/site-packages/django/db/models/query.py" in
 __len__
   254.         self._fetch_all()

 File "/usr/lib/python3.6/site-packages/django/db/models/query.py" in
 _fetch_all
   1179.             self._result_cache = list(self._iterable_class(self))

 File "/usr/lib/python3.6/site-packages/django/db/models/query.py" in
 __iter__
   53.         results =
 compiler.execute_sql(chunked_fetch=self.chunked_fetch,
 chunk_size=self.chunk_size)

 File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py"
 in execute_sql
   1064.             cursor.execute(sql, params)

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 execute
   100.             return super().execute(sql, params)

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 execute
   68.         return self._execute_with_wrappers(sql, params, many=False,
 executor=self._execute)

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 _execute_with_wrappers
   77.         return executor(sql, params, many, context)

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 _execute
   85.                 return self.cursor.execute(sql, params)

 File "/usr/lib/python3.6/site-packages/django/db/utils.py" in __exit__
   89.                 raise dj_exc_value.with_traceback(traceback) from
 exc_value

 File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py" in
 _execute
   85.                 return self.cursor.execute(sql, params)

 Exception Type: InternalError at /admin/foo/bar/taz/change/
 Exception Value: Error in python: TypeError
 DETAIL:  a float is required
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29347>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/051.68df065048df561893fee9f17fdd86e4%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to