J'essaie de créer un signal simple qui imprime quelque chose après qu'un nouvel objet du modèle Staff
soit enregistré dans l'admin Django. Les fichiers MVC python résident dans AppName
. Voici le code dans chaque fichier:TypeError: connect() a un argument mot-clé inattendu 'signal' - Django signale
models.py
from django.db import models
from django.db.models import signals
from django.dispatch import Signal
from django.contrib.auth.models import User
from AppName.signals import printfunction
from django.db.models.signals import post_save
class Staff(User):
class Meta:
proxy = True
app_label = 'auth'
verbose_name_plural = 'Users - Staff'
Signal.connect(printfunction, signal=signals.post_save, sender=Staff)
signals.py
def printfunction(sender, instance, signal, *args, **kwargs):
print ("signal alpha!")
Cependant, il soulève l'exception suivante: TypeError: connect() got an unexpected keyword argument 'signal'
J'ai suivi le 1.8 django documentation on signals. Pourquoi cette erreur se produit-elle et comment y remédier?
voir la documentation à nouveau .. syntaxe doesnot avoir un arguement 'signal': signal. connect (receiver [, expéditeur = None, weak = True, dispatch_uid = None]) –
Oui, la virgule et le '[' ont donné une erreur quand j'ai essayé, donc je suis retourné à la syntaxe de dispatcher pour Signal –
alors ça marche maintenant/? –