Bird
0
0

Identify the error in this signal handler code that prevents it from working correctly:

medium📝 Debug Q14 of 15
Django - Signals
Identify the error in this signal handler code that prevents it from working correctly:
from django.db.models.signals import pre_delete

def cleanup(sender, instance):
    print(f"Cleaning up {instance}")

pre_delete.connect(cleanup)
Aconnect() requires a sender argument
BSignal should be <code>post_delete</code> instead of <code>pre_delete</code>
CHandler function must be a class method
DMissing <code>**kwargs</code> parameter in handler function
Step-by-Step Solution
Solution:
  1. Step 1: Check handler function signature

    Django signal handlers must accept **kwargs to avoid errors.
  2. Step 2: Verify the handler parameters

    The handler lacks **kwargs, so it will raise an error when called.
  3. Final Answer:

    Missing **kwargs parameter in handler function -> Option D
  4. Quick Check:

    Handler needs **kwargs = Missing **kwargs parameter in handler function [OK]
Quick Trick: Always include **kwargs in signal handlers [OK]
Common Mistakes:
MISTAKES
  • Omitting **kwargs in handler parameters
  • Thinking sender argument is always required in connect()
  • Confusing pre_delete and post_delete signals

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes