﻿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
32344	Allow arbitrary `deconstructible` class properties to participate in migrations	Ryan Vinzent	nobody	"In order to fully take advantage of a custom `SchemaEditor` class, I need to apply some model level configuration. This configuration can be implemented as a class property on the model, but during the migration, all non-`Field` class properties are disregarded in the dynamically constructed version of the model's state.

It would be nice if any serializable (or maybe only `deconstructible`) class property were also able to be included in the migration, so I could add something like this:

{{{#!python
class MyPostgresModel(models.Model):
    postgres_options = PostgresOptions(...)
}}}

Currently, `postgres_options` in this case is not passed to the `SchemaEditor.create_model()` call during the migration, even if it is serializable. The usefulness of a custom `SchemaEditor` is hindered if it is unable to see this extra model configuration during migrations, as this is usually the only place that a `SchemaEditor` is invoked.

This could enable user-defined `ModelState` in migrations, and allow third-party database backends to more easily participate in the migrations framework.
"	New feature	new	Migrations	dev	Normal		Migrations, ModelState		Unreviewed	0	0	0	0	0	0
