Полевой выбор модели набора приписывает во время выполнения?

Там какой-либо простой способ состоит в том, чтобы сделать так?

5
задан Luiz C. 5 March 2010 в 17:51
поделиться

2 ответа

Вы можете установить для атрибута choices любое итеративное значение: http://docs.djangoproject.com/en/dev/ ref / models / fields / # django.db.models.Field.choices

Я сам не тестировал это, поэтому я не уверен, когда действительно оценивается атрибут choices, но вы можете назначить функцию генератора который рассчитал бы ваш желаемый выбор.

Вы также можете исследовать, используя сигнал модели post_init: http://docs.djangoproject.com/en/1.1/ref/signals/#post-init

Это даст вам доступ к вашей модели после Django инициализировал его, и теперь вы можете установить варианты. Вы, вероятно, захотите пройти через интерфейс "_meta" следующим образом:

instance._meta.get_field_by_name('FIELD_NAME')[0].choices = [<choices>...]
2
ответ дан 15 December 2019 в 06:23
поделиться

Установите варианты в __ init __ () .

1
ответ дан 15 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: