0
インストールされているモデルをoptグループの選択肢として取得しようとしています。optgroupの選択肢としてDjangoモデル
私はモデルではなくフォームで行う必要があります。
これまでのところ私が試みました。
def get_installed_model_choices():
returnval = []
for app in settings.SYSTEM_INSTALLED_APPS:
app_config = apps.get_app_config(app)
app_models = app_config.get_models()
model_choices = []
for model in app_models:
model_choices.append([model._meta.model_name, model._meta.verbose_name])
returnval.append([app_config.verbose_name, model_choices])
print returnval
return returnval
私のモデルフィールドにあります。
model = custom_model_fields.PanNoneBlankCharField(choices = get_installed_model_choices(),verbose_name=_('model'),
max_length=20)
このエラーが発生します。
"Models for app '%s' haven't been imported yet." % self.label)
第二のアプローチ: これは、このdidntの仕事は、何も私は選択肢が静的になりたいいけない
に影響を与えていた、どちらか
def __init__(self, *args, **kwargs):
super(PanUserModelPermissions, self).__init__(*args, **kwargs)
self._meta.get_field('model')._choices = \
lazy(get_installed_model_choices, list)()
、私はインターネット上で見たcomethingされていませんとにかくこれを達成するにはありますか?
私はそれを考えましたが、私は外来を望んでいません。ありがとう。 – durdenk
ようこそ。 – Ykh