Python Django CharField带选项,需要模型实例

Python Django CharField带选项,需要模型实例,python,django,django-admin,Python,Django,Django Admin,需要在管理中将CharField转换为forms.ChoiceField 这些选项来自基于模型实例参数的外部API。因为我需要模型实例,所以我将代码放在模型表单中。这不会将字符字段变成选项字段: class OfferAdminForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(OfferAdminForm, self).__init__(*args, **kwargs) if

需要在管理中将
CharField
转换为
forms.ChoiceField

这些选项来自基于模型实例参数的外部API。因为我需要模型实例,所以我将代码放在
模型表单中。这不会将
字符字段
变成
选项字段

class OfferAdminForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(OfferAdminForm, self).__init__(*args, **kwargs)
        if hasattr(self, 'instance'):
            CHOICES = (
                ('A', 'Choice A'),
                ('B', 'Choice B'),
            )
            category_id = forms.ChoiceField(choices = CHOICES)

选项
类别id
赋值置于
\uuuu init\uuuu()之外可以正常工作。我想我遇到了某种竞争条件,但不确定如何着手解决它。

我根本不明白您想在这里做什么,但您需要将字段指定给字段字典

self.fields["category_id"] = forms.ChoiceField(choices = CHOICES)

我完全不明白您想在这里做什么,但是您需要将字段分配给字段字典

self.fields["category_id"] = forms.ChoiceField(choices = CHOICES)