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

gcm/v1/device/register/ POST request fails after extending device model in django-gcm. #31

Open
ayyaj opened this issue Jul 26, 2015 · 1 comment

Comments

@ayyaj
Copy link

ayyaj commented Jul 26, 2015

gcm/v1/device/register/ post request works perfect with default django-gcm model but if I extend device model to add user field and make POST request, it fails without any response.

My extended model is as follows,

####models.py

from django.conf import settings from django.db import models
from gcm.models import AbstractDevice

class Device(AbstractDevice):
user = models.ForeignKey(settings.AUTH_USER_MODEL)

####Added my app url in main urls.py

url(r'', include('contrib.device.urls')),

####my app urls.py

from django.conf.urls import patterns, include, url
from tastypie.api import Api
from .resources import AuthResource

gcm_api = Api(api_name='v1')
gcm_api.register(AuthResource())

urlpatterns = patterns('',
url(r'^gcm/', include(gcm_api.urls)),
)

####resources.py

from gcm.resources import DeviceResource
from tastypie.authentication import ApiKeyAuthentication

class AuthResource(DeviceResource):

class Meta(DeviceResource.Meta):                                                                                                              
    authentication = ApiKeyAuthentication()                                                                                                   

def get_queryset(self):                                                                                                                       
    qs = super(AuthResource, self).get_queryset()                                                                                             
    # to make sure that user can update only his own devices                                                                                  
    return qs.filter(user=self.request.user)                                                                                                  

def form_valid(self, form):                                                                                                                   
    form.instance.user = self.request.user                                                                                                    
    return super(AuthResource, self).form_valid(form) 
#### Code added in settings.py
App added under INSTALLED_APPs

'contrib.device',
'tastypie',
'gcm',

Variables added

GCM_APIKEY = "My App key"
GCM_DEVICE_MODEL = 'contrib.device.models.Device'

What I am doing wrong? Please help.

Thank you.

@bogdal
Copy link
Owner

bogdal commented Jul 27, 2015

Hi @ayyaj. Could you paste your stacktrace?

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