Don't use class methods on Django models
Briefly

Instance methods, which are what you get by default when writing a def statement inside a class body. These are called from an instance of the model, and Python will ensure that the instance is passed as the first positional argument (conventionally named self) when this method is called. Class methods, which are created by the @classmethod decorator. These are called from the class object itself, and Python ensures the class object is passed as the first positional argument (conventionally named cls). Static methods, which are created by the @staticmethod decorator. These are called from the class object itself, but no special implicit first argument will be passed to these.
Read at B-list
[
add
]
[
|
|
]