【问题标题】:tastypie - how to set authorization to allow PUT and POST for all美味派 - 如何设置授权以允许所有人进行 PUT 和 POST
【发布时间】:2015-01-24 23:21:11
【问题描述】:

我正处于开发小型 django/tastepie api 的早期阶段。

我如何设置 sweetpie 授权以允许所有人对资源执行 PUT 和 POST?

这是我的模型:

class Workload(models.Model):
    name = models.CharField(max_length=120)
    description = models.TextField()
    image = models.CharField(max_length=120)
    flavor = models.CharField(max_length=120)

    class Meta:
        ordering = ["name", ]

这是我的资源:

class WorkloadResource(ModelResource):
    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 determine_format(self, request):
            return 'application/json'

    class Meta:
        queryset = Workload.objects.all()
        authorization= Authorization()

【问题讨论】:

    标签: django tastypie


    【解决方案1】:

    如果您指的是所有资源,您可以创建一个基础资源类来扩展:

    class BaseModelResource(ModelResource):
        class Meta:
            allowed_methods = ['put', 'post']
    
    class WorkloadResource(BaseModelResource):
        pass
    

    【讨论】:

      猜你喜欢
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多