from django.contrib.auth.models import User
class InstalledApps(models.Model): user = models.ForeignKey(User) app_package_name = models.CharField(max_length=50)
class InstalledAppsResource(ModelResource): class Meta: queryset = InstalledApps.objects.all() resource_name = 'apps' authorization= Authorization() authentication = Authentication() #validation = InstalledAppsValidation() list_allowed_methods = ['post', 'get'] always_return_data = True def hydrate(self, bundle): usrname = bundle.request.META['HTTP_AUTHORIZATION'][7:].split(':')[0] usr = User.objects.get(username__exact=usrname) if not bundle.obj.pk: bundle.obj.user = usr return bundle
curl -X POST -H "Content-Type: application/json" -H "Authorization: ApiKey username:abcde" -d '{"app_package_name": ["pqr", "abc", "xyz"]}' http://127.0.0.1:8000/api/v1/apps
{"app_package_name": "['pqr', 'abc', 'xyz']", "id": 16, "resource_uri": "/api/v1/apps/16"}