Python Model.Form.save之后未获取ForeignKey值

Python Model.Form.save之后未获取ForeignKey值,python,django,orm,foreign-keys,Python,Django,Orm,Foreign Keys,我的表Project sales_person = models.ForeignKey(MyUser, related_name='ad_sales_person', editable=False,null=True, blank=True) 我有一个这样的模型 class ProjectForm(forms.ModelForm): class Meta: model = Project exclude = ('created_by', 'current_user',

我的表
Project

sales_person = models.ForeignKey(MyUser, related_name='ad_sales_person', editable=False,null=True, blank=True)
我有一个这样的模型

class ProjectForm(forms.ModelForm):
    class Meta:
        model = Project
 exclude = ('created_by', 'current_user', 'project_current_state')


 def save(self, request=None, commit=False):
        project = super(ProjectForm, self).save(commit=commit)
        project.sales_person_id = project.customer.created_by.id
        project.save()
        project.sales_person # I should get the User object here. But i am not getting it here? 

保存模型对象后,我想获取
sales\u person
对象。我没有做错什么?

否,分配
*\u id
字段不会加载相应的模型实例。因此,您应该手动加载实例:

project.save()
project.sales_person = MyUser.objects.get(pk=project.sales_person_id)
但是为什么不将
MyUser
实例分配给该字段呢?这不会增加任何性能惩罚:

project.sales_person = project.customer.created_by

第二种选择更有意义。但不确定实例保存后为什么不保存;我们可以通过查询数据库来访问该销售人员实例,但是当前的模型对象没有反映更改。奇怪这并不奇怪。在操作
*\u id
字段时,故意绕过处理实例的
ForeignKey
属性的django代码。