﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18540	Improve Model flexibility by allowing a custom Options class	Chris Wilson	nobody	"For example, if I want to specify that my model has custom permissions, to be able to use them in the admin, I can't subclass Options to add or change the get_*_permission methods, because `ModelBase.__new__` does this:

{{{
new_class.add_to_class('_meta', Options(meta, **kwargs))
}}}

I think it would be great to allow specifying a different Options class in the model's Meta class:

{{{
class MyModelOptions(Options):
    def get_view_permission(self):
        return 'view_%s' % self.object_name.lower()

class MyModel(Model):
    class Meta:
        options_class = MyModelOptions
}}}

I think the code change would be quite simple:

{{{
options_class = getattr(meta, 'options_class', Options)
new_class.add_to_class('_meta', options_class(meta, **kwargs))
}}}

Acceptable?"	New feature	closed	Database layer (models, ORM)	1.4	Normal	wontfix			Unreviewed	0	0	0	0	0	0
