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

Adminsite handle with the wrong Machine #58

Closed
mengzhuo opened this issue May 15, 2014 · 3 comments
Closed

Adminsite handle with the wrong Machine #58

mengzhuo opened this issue May 15, 2014 · 3 comments

Comments

@mengzhuo
Copy link

Environment:


Request Method: POST
Request URL: http://cent.os:8000/admin/device/phone/add/

Django Version: 1.6.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',
 'rest_framework',
 'south',
 'device',
 'webapp',
 'django_states')
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')


Traceback:
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
  432.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  52.         response = view_func(request, *args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  198.             return view(request, *args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  29.             return bound_func(*args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  25.                 return func(self, *args2, **kwargs2)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/db/transaction.py" in inner
  371.                 return func(*args, **kwargs)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in add_view
  1133.                 self.log_addition(request, new_object)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in log_addition
  599.             object_repr=force_text(object),
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django/utils/encoding.py" in force_text
  100.                 s = s.__unicode__()
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django_states/models.py" in new_unicode
  48.                 return '%s (%s)' % (old_unicode(self), self.Machine.get_state(self.state).description)
File "/home/meng/.virtualenvs/DEVICEMANAGER/local/lib/python2.7/site-packages/django_states/models.py" in __unicode__
  89.         return 'State: ' + self.state

Exception Type: AttributeError at /admin/device/phone/add/
Exception Value: 'Phone' object has no attribute 'state'

models.py

class Phone(StateModel):
    status = StateField(machine=PhoneStatusStateMachine)

admin.py

class PhoneAdmin(admin.ModelAdmin):
    pass
admin.site.register(Phone, PhoneAdmin)
@mengzhuo
Copy link
Author

OK, what should I name it instead of status? I can't find it in the doc.

@lehins
Copy link

lehins commented May 15, 2014

I think StateModel is deprecated stuff (only works if a field is named state, I might be wrong on that one). But to answer your question:
You can name field whatever you like, as long as it's a StateField.
Basically don't use a StateModel at all, and that's it.

@mengzhuo
Copy link
Author

Thanks for your answer

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

No branches or pull requests

2 participants