Ребята, добрый день.
Есть некая модель
class Appointment(models.Model):
WAIT = 0
SUCCESS = 1
CANCELED = 2
STATUSES = (
(WAIT, 'Ожидается'),
(SUCCESS, 'Приём'),
(CANCELED, 'Отменён')
)
status = models.PositiveSmallIntegerField('Статус', choices=STATUSES, default=WAIT)
хочу сделать у модели метод который будет циклически менять поле статус.
Я точно не знаю как это правильно реализовать, на ум пришло следующее
@classmethod
def change_status(cls, status, id):
if status == 0:
obj = cls()
obj.status =1
elif status == 1:
obj = cls()
obj.status =2
elif status ==2:
obj = cls()
obj.status =0
return cls
через питоновскую консоль получаю объект, вызываю метод который я определил
q.change_status(0)
и получаю ошибку
Traceback (most recent call last): File "<console>", line 1, in
<module> File
"/home/nariman/dev/romandent/dentcrm/appointment/models.py", line 51,
in change_status
elif status == 1: TypeError: save() missing 1 required positional argument: 'self'
Ребят я по своей неопытности много с этой задачкой намучаюсь, наставьте на путь истинный пожалуйста.
Updated 16 Sept. 2016, 1:11 by alimuradov.