2015-09-23 30 views
0

的錯誤味精一個功能時:獲取錯誤類型: 「恰恰1個參數,給出6」 在Django使用,它需要6個位置ARGS

meli_publicar() takes exactly 1 argument (6 given)

My功能meli_publicar:

def meli_publicar(titulo,pvp,categoria,tapa,descripcion,access_token): 
    meli = Meli(client_id=ID_NUMBER,client_secret=SECRET) 
    body = {"condition":"new", "warranty":"Ante cualquier falla de impresión o de encuadernación se cambia por otro igual sin cargo.", "currency_id":"ARS", "accepts_mercadopago":True, "shipping":{"local_pick_up":True}, "description":descripcion, "video_id":'', "listing_type_id":"bronze", "title":titulo, "available_quantity":1, "price":pvp, "buying_mode":"buy_it_now", "non_mercado_pago_payment_methods":[{"id":"MLAMO"},{"id":"MLATB"}],"category_id":categoria, "automatic_relist":True, "pictures":[{"source":tapa}]} 
    response = meli.post("/items", body, {'access_token':access_token}) 
    respuesta = json.loads(response.content) 
    return respuesta 

我在models.py中使用這個函數,在一個post_save信號使用的函數中:

@receiver(post_save, sender=EjLibro) 
def meli_publicar(sender, **kwargs): 
    if kwargs.get('created', True): 
     access_token = meli_obtenerToken() 
     tapa = 'http://www.site/images/1.jpg' 
     respuesta = meli_publicar('A title',100,'MLA40490',tapa,'<h1>Título</h1>',access_token) 

我不明白我在哪裏S中的錯誤,因爲meli_publicar()需要6個ARGS,而不是1

Django的1.8.4,Python 2.7版

+0

您確定錯誤信息與第一個功能有關嗎?由於你有兩個同名的功能... – Jan

回答

1

您與您的裝飾功能重寫名meli_publicar

不要使用名稱meli_publicar名稱兩次。

def meli_publicar(titulo,pvp,categoria,tapa,descripcion,access_token): 
    ... 

@receiver(post_save, sender=EjLibro) 
def meli_publicar_signal(sender, **kwargs) # use different name 
    ... 
    respuesta = meli_publicar('A title',100,'MLA40490',tapa,'<h1>Título</h1>',access_token) 
+0

當然!我至少要睡8個小時。謝謝! – Thesauros

+0

@Thesauros如果有幫助請標記爲正確答案 – hspandher

相關問題