Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fiber admin is called for a non fiber model #261

Closed
cho-leukeleu opened this issue Nov 28, 2017 · 7 comments
Closed

Fiber admin is called for a non fiber model #261

cho-leukeleu opened this issue Nov 28, 2017 · 7 comments

Comments

@cho-leukeleu
Copy link
Contributor

On a project using Fiber (1.4.1), I created a model:

class OrderDetails(models.Model):
    uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    date_created = models.DateTimeField(auto_now_add=True)

A bulk delete on this model from the admin now fails with
invalid literal for int() with base 10: '04139e55-b2eb-4124-8138-fe3a594c950b'

Fiber is part of the stacktrace for some reason:
/site-packages/fiber/admin.py in has_delete_permission

@richardbarran
Copy link
Member

Hi,
Could you please post a full stacktrace?

@cho-leukeleu
Copy link
Contributor Author

cho-leukeleu commented Mar 23, 2018

Better late than never I hope, here is the stacktrace:

Environment:


Request Method: POST
Request URL: http://fibertest.localhost/admin/mysite/orderdetails/

Django Version: 1.11.9
Python Version: 2.7.10
Installed Applications:
['mysite',
 'mptt',
 'compressor',
 'easy_thumbnails',
 'fiber',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
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',
 'fiber.middleware.ObfuscateEmailAddressMiddleware',
 'fiber.middleware.AdminPageMiddleware']



Traceback:

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
  551.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  224.             return view(request, *args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  67.             return bound_func(*args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  63.                 return func.__get__(self, type(self))(*args2, **kwargs2)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/options.py" in changelist_view
  1568.                 response = self.response_action(request, queryset=cl.get_queryset(request))

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/options.py" in response_action
  1286.             response = func(self, request, queryset)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/actions.py" in delete_selected
  67.         modeladmin.admin_site.each_context(request),

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/sites.py" in each_context
  297.             'available_apps': self.get_app_list(request),

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/sites.py" in get_app_list
  465.         app_dict = self._build_app_dict(request)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/sites.py" in _build_app_dict
  417.             perms = model_admin.get_model_perms(request)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/contrib/admin/options.py" in get_model_perms
  598.             'delete': self.has_delete_permission(request),

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/fiber/admin.py" in has_delete_permission
  39.         qs = self.model.objects.filter(pk__in=pks)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  85.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/query.py" in filter
  784.         return self._filter_or_exclude(False, *args, **kwargs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
  802.             clone.query.add_q(Q(*args, **kwargs))

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
  1250.         clause, _ = self._add_q(q_object, self.used_aliases)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_q
  1276.                     allow_joins=allow_joins, split_subq=split_subq,

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filter
  1210.             condition = self.build_lookup(lookups, col, value)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_lookup
  1104.                 return final_lookup(lhs, rhs)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/lookups.py" in __init__
  24.         self.rhs = self.get_prep_lookup()

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookup
  219.                 rhs_value = self.lhs.output_field.get_prep_value(rhs_value)

File "/Users/christineho/.virtualenvs/fiber_test/lib/python2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_value
  966.         return int(value)

Exception Type: ValueError at /admin/mysite/orderdetails/
Exception Value: invalid literal for int() with base 10: '9525b860-72c2-4ec9-9502-295cb860d7d3'

@richardbarran
Copy link
Member

Hi,
Thanks for the full stacktrace; that's very strange. The method has_delete_permission is only used by Fiber's admin. By any chance - have you mixed the admin for OrderDetails with Fiber's own admin classes?

@cho-leukeleu
Copy link
Contributor Author

Hi,

I don't think so but I join the source to the example project I made to reproduce the issue:
d-fiber_test.zip

@richardbarran
Copy link
Member

Hi and thanks for the source code - it helped me locate the bug. I've pushed a fix to the dev branch of django-fiber. Can you please test it and let know if it works for you?

@cho-leukeleu
Copy link
Contributor Author

cho-leukeleu commented Mar 29, 2018

Hi,

I did a pip install git+git://github.com/django-fiber/django-fiber.git@6c329d04867c7dafa6b27ad1f97036a171637b4b, tried again and it works now :).

@richardbarran
Copy link
Member

richardbarran commented Mar 29, 2018

Happy to hear that we've fixed the issue! Thanks for the bug report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants