jas*_*son 5 python django modelchoicefield
我正在尝试使用 Django 提供的 modelchoicefield ;但是,它的行为并不符合我的预期。
我希望向最终用户显示的是我的模型中的字符串值(可以工作),但当用户提交表单时返回模型的主键(而不是显示值)。我尝试在 Django 表单上使用 to_field_name="id" ,并且在渲染 HTML 时它确实正确渲染了值,但是当用户提交表单时,我返回的值是显示值,而不是我的主键期待。
customer_edit_form.py
annual_income = forms.ModelChoiceField(label='Annual income', to_field_name="id", queryset=cust_income_range.objects.all(), empty_label='-- None --')
Run Code Online (Sandbox Code Playgroud)
模型.py
# Annual Income Model
class cust_income_range(models.Model):
id = models.IntegerField(primary_key=True)
range = models.CharField(max_length=50)
def __str__(self):
return self.range
Run Code Online (Sandbox Code Playgroud)
客户视图.py
annual_income = form.cleaned_data['annual_income']
Run Code Online (Sandbox Code Playgroud)
经过大量排查后,我发现可以在视图中执行类似的操作来获取 ID 值而不是 str 值。
annual_income = form.cleaned_data['annual_income'].pk
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2544 次 |
| 最近记录: |