django ModelChoiceField:如何解析初始数据以将其映射到正确的值

django ModelChoiceField:如何解析初始数据以将其映射到正确的值,django,django-forms,django-models,Django,Django Forms,Django Models,我有一个表单,其字段继承自ModelChoiceField。 我在FormView中使用此表单。 在FormView中,我想使用FormView的get_initial()方法设置字段的初始值,但我想使用模型的特定字段,如instance.guid 那么,如何重写ModelChoiceField以解析创建表单时使用的初始值,从而将其更改为ChoiceField知道的值呢?(将我的guid转换为pk) 我想覆盖字段,而不是表单。表单如何将首字母传递给每个字段?它似乎不是字段的init方法的初始参数

我有一个表单,其字段继承自ModelChoiceField。 我在FormView中使用此表单。 在FormView中,我想使用FormView的get_initial()方法设置字段的初始值,但我想使用模型的特定字段,如
instance.guid

那么,如何重写ModelChoiceField以解析创建表单时使用的初始值,从而将其更改为ChoiceField知道的值呢?(将我的guid转换为pk)

我想覆盖字段,而不是表单。表单如何将首字母传递给每个字段?它似乎不是字段的init方法的初始参数

# In a FormView
def get_initial(self):
    initial = super(MyView, self).get_initial()

    initial['myfield'] = 'a guid string'

    return initial

谢谢

好的,我实际上找到了它,我必须重写字段的
准备值(self,value)
方法。

我很高兴它有帮助。:)