Skip to content

Instantly share code, notes, and snippets.

@eugene-goldberg
Created January 27, 2015 03:27
Show Gist options
  • Save eugene-goldberg/25b98d9dabc13ba0221a to your computer and use it in GitHub Desktop.
Save eugene-goldberg/25b98d9dabc13ba0221a to your computer and use it in GitHub Desktop.
resources
resources:
class BlueprintResource(ModelResource):
# workloads = ManyToManyField(Workload, 'workloads')
workloads = fields.ManyToManyField('catalog.api.WorkloadResource', attribute='workloads',
full=True, null=True)
def obj_create(self, bundle, request=None, **kwargs):
return super(BlueprintResource, self).obj_create(bundle, request)
def obj_update(self, bundle, request=None, **kwargs):
blueprint = Blueprint.objects.get(id=kwargs.get("pk"))
blueprint.description = bundle.data.get("description")
blueprint.name = bundle.data.get("name")
blueprint.workloads = bundle.data.get("workloads")
blueprint.save()
def obj_delete(self, bundle, **kwargs):
return super(BlueprintResource, self).obj_delete(bundle)
class Meta:
queryset = Blueprint.objects.all()
resource_name = 'blueprint'
authorization = Authorization()
class WorkloadResource(ModelResource):
# blueprints = ManyToManyField(Blueprint, 'blueprints')
blueprints = fields.ManyToManyField('catalog.api.BlueprintResource', attribute='blueprints',
related_name='workloads', full=True, null=True)
def obj_create(self, bundle, request=None, **kwargs):
return super(WorkloadResource, self).obj_create(bundle, request)
def obj_update(self, bundle, request=None, **kwargs):
workload = Workload.objects.get(id=kwargs.get("pk"))
workload.description = bundle.data.get("description")
workload.name = bundle.data.get("name")
workload.image = bundle.data.get("image")
workload.flavor = bundle.data.get("flavor")
workload.save()
def obj_delete(self, bundle, **kwargs):
return super(WorkloadResource, self).obj_delete(bundle)
def determine_format(self, request):
return 'application/json'
class Meta:
queryset = Workload.objects.all()
resource_name = 'workload'
authorization=Authorization()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment