Let’s say you work for a company that handles customer returns. You would think naming your model
Return is a good idea. An example Return model is shown below:
I quickly run dir(Store) and as expected,
[..,'return', ..] is in the output. I now have a reverse relationship ready to go! This is a very useful feature of Django.
Looks great right. Let me just show what it’s like dealing with this model in
What? SyntaxError? Yes, SyntaxError. You cannot use the keyword return as an attribute or as a function name. The reverse relationship though is automatically generated and is perfectly valid.
How do you get around this with Django?
Quite simply, just use
Now whether you should enforce relationships is another discussion for another overcast day.