django - Django - 是否可以对模型字段使用 pk 以外的其他值?
问题描述
我有一个模型表格,我通过 AJAX 发布表格。其中一个字段是多态字段,我将其呈现为复选框。默认情况下,django 在传入的查询集中使用模型的 PK。有没有办法使用模型的另一个字段作为值而不是 PK 值。(我将 PK 作为整数 - 出于某种原因。我还有一个不是 PK 的 UUID 字段。我想将其用于值。)
解决方案
在您的模型表单中明确定义您的 uuid 字段并传递额外的to_field_name="uuid_field"
参数,因此当您呈现表单时,option
您的 html 选择输入将呈现为:
<option value="obj.uuid_field">Model Instance</option>
示例模型形式:
class YourModelForm(forms.ModelForm):
uuid_field = forms.ModelChoicefield(
queryset=Model.objects.all(),
to_field_name="uuid_field"
)
class Meta:
model = YourModel
fields = '__all__'
有关更多信息,请参阅文档。
推荐阅读
- selenium - org.openqa.selenium.WebDriverException:未知错误:Chrome 无法启动:运行并行执行时显示错误消息
- angular - Angular 更新不相关的 DOM 元素
- php - Laravel 中间件身份验证在生产中抛出 500 但不在本地
- php - 使用 PHP 将 Base64 图像字符串转换为图像文件
- python - reader.decrypt(word) NotImplementedError: 仅支持算法代码 1 和 2
- asp.net - Bootstrap Select 格式不正确
- json - json序列化忽略kotlin字段注释
- javascript - 将值从子组件传递到父组件时无法读取“目标”属性
- php - 如何在 laravel bootstrap.js 文件中添加 php 代码
- azure - 从 Xamarin 表单访问 Azure KeyVault