调用同一个类中的函数-Django

时间:2019-03-21 02:56:57

标签: python django python-3.x python-2.7

调用同一类中的函数-Django

我很困惑。

我无法在我的项目中完成这项工作。

但是,它可以在单独的仅python文件中工作。

view.py

from .lib.rest import Rest

    class AssinaturaUpdate():
        ...
        def post(self, request, id):
            assinatura = Assinatura.objects.filter(id=id).first()
            form = FormAssinatura(request.POST)
            if form.is_valid():
                Rest.update.(self, data=form.cleaned_data, assinatura_id=assinatura.id)
            return redirect('assinatura_edit', id=id)

rest.py

class Rest():  

    def trocaPlano(self, assinatura_id):
        payload = {
            "id": assinatura_id
        }
        print(payload)

    def update(self, data, assinatura_id):

        self.trocaPlano(assinatura_id=assinatura_id)  

        headers = {"Content-Type": "application/json", "Accept": "application/json", "Authorization": TOKEN}
        r = requests.put(url='https://rest.com/subscriptions/'+assinatura_id, data=json.dumps(payload), headers=headers)
    ...
  

“ AssinaturaUpdate”对象没有属性“ trocaPlano”

1 个答案:

答案 0 :(得分:0)

访问对象方法时,需要启动该类的实例。因此,当访问方法trocaPlanoupdate(这些方法以self作为方法的第一个参数时,它们引用对象本身,就像JS中的this一样){ {1}}类,您需要启动Rest类对象,就像使用Rest一样。

您需要像这样更新代码:

Rest()