Bird
0
0

Which of the following is the correct way to register a receiver function for Django's post_save signal using the decorator syntax?

easy📝 Syntax Q3 of 15
Django - Signals
Which of the following is the correct way to register a receiver function for Django's post_save signal using the decorator syntax?
A@receiver(post_save, sender=MyModel) def my_handler(sender, instance, **kwargs): pass
Bpost_save.connect(my_handler, sender=MyModel) def my_handler(sender, instance): pass
C@receiver(post_save) def my_handler(sender, instance): pass
Ddef my_handler(sender, instance): post_save.connect(my_handler)
Step-by-Step Solution
Solution:
  1. Step 1: Identify decorator usage

    The @receiver decorator requires the signal and optionally the sender.
  2. Step 2: Check function signature

    The receiver function must accept sender, instance, and **kwargs.
  3. Step 3: Match syntax

    @receiver(post_save, sender=MyModel) def my_handler(sender, instance, **kwargs): pass correctly uses @receiver(post_save, sender=MyModel) and proper function signature.
  4. Final Answer:

    @receiver(post_save, sender=MyModel) def my_handler(sender, instance, **kwargs): pass -> Option A
  5. Quick Check:

    Decorator with signal and sender, function with kwargs [OK]
Quick Trick: Use @receiver(signal, sender=Model) with **kwargs in handler [OK]
Common Mistakes:
MISTAKES
  • Omitting **kwargs in receiver function
  • Connecting signal inside function body
  • Using connect() without proper sender argument

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes