Bird
0
0

Given this code snippet, what will be printed when my_signal.send(sender=None, instance='obj1', created=True) is called?

medium📝 component behavior Q13 of 15
Django - Signals
Given this code snippet, what will be printed when my_signal.send(sender=None, instance='obj1', created=True) is called?
from django.dispatch import Signal, receiver

my_signal = Signal(providing_args=["instance", "created"])

@receiver(my_signal)
def my_receiver(sender, **kwargs):
    print(f"Received: {kwargs['instance']}, Created: {kwargs['created']}")
AReceived: obj1, Created: True
BReceived: None, Created: True
CReceived: obj1, Created: False
DError: missing sender argument
Step-by-Step Solution
Solution:
  1. Step 1: Understand signal sending and receiver

    The signal is sent with instance='obj1' and created=True. The receiver prints these values from kwargs.
  2. Step 2: Match printed output to sent values

    The print statement uses kwargs['instance'] and kwargs['created'], so it prints 'obj1' and 'True'.
  3. Final Answer:

    Received: obj1, Created: True -> Option A
  4. Quick Check:

    Signal send values print correctly [OK]
Quick Trick: Receiver prints kwargs values sent by signal [OK]
Common Mistakes:
MISTAKES
  • Confusing sender with instance
  • Assuming created is False by default
  • Thinking sender is required in print

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes