果然是盡信書不如無書(冏),在django的官網上提到custom user permission的方法,透過宣告一個新的model,設定它的meta data,最後透過django的manage.py syncdb就可以很容易的完成。所以範例相當單純只有下面幾行,但是就是這幾行試了老半天就是不行。
class Task(models.Model):
...
class Meta:
permissions = (
("view_task", "Can see available tasks"),
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
)
...
結果原來是官方範例上的permissions = (),要改成permissions = []
如下面光棒標示處:
class Task(models.Model):
...
class Meta:
permissions = [
("view_task", "Can see available tasks"),
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
]
...


