django - Django 形成两个具有相同值的字段,一个是唯一的,具有默认值,另一个是隐藏字段
问题描述
我有一个模型有两个字段一个唯一的 uuid 字段和另一个 urlfield
class Image(models.Model):
url = models.URLField()
uuid = models.UUIDField(default=uuid4,unique=True)
我创建了一个 django 模型表单
class ImageUploadForm(forms.ModelForm):
filename = forms.HiddenInput()
class Meta:
model = Image
fields = "__all__"
在formview uuid字段将自动设置一个唯一的uuid,我想设置具有相同uuid的文件名,默认情况下自动设置为uuid字段。我怎样才能做到这一点?
解决方案
您可以“修补”该__init__
函数,并.initial
为给定字段设置一个值,例如:
class ImageUploadForm(forms.ModelForm):
filename = forms.CharField(widget=forms.HiddenInput())
def __init__(self, *args, **kwargs):
super(ImageUploadForm, self).__init__(*args, **kwargs)
self.fields['filename'].initial = self.instance.uuid
class Meta:
model = Image
fields = "__all__"
推荐阅读
- php - 在管理订单列表 prestashop 1.7.7.5 中添加运营商列
- firebase - Firebase firestore 和云存储:if else 检查在客户端是否安全?
- laravel - 在 laravel 中分页急切加载
- javascript - 在 Tampermonkey 脚本中将 HTML 插入到 div
- java - java中可抛出和错误之间的区别?
- javascript - JS DataTable添加导出按钮不显示
- go - 乘以正 int8s 并转换为 uint32 后溢出
- tableau-desktop - 如何在计算中考虑多个度量值
- linux - 从自动字符串 bash 脚本中删除前缀
- c# - 使用带有自动映射器的 CreateMap 时访问列表的属性