Writing a __init__ function to be used in django model

Relying on Django’s built-in functionality and passing named parameters would be the simplest way to go.

p = User(name="Fred", email="fred@example.com")

But if you’re set on saving some keystrokes, I’d suggest adding a static convenience method to the class instead of messing with the initializer.

# In User class declaration
@classmethod
def create(cls, name, email):
  return cls(name=name, email=email)

# Use it
p = User.create("Fred", "fred@example.com")

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)