django-models - 如何通过 uuid4 在 django 中获得正确的 UUID 格式而不是连字符?
问题描述
我是新手,我正在尝试将 uuid 保存到我的模型中
正如研究的 uuid 的正确格式是 - UUID 表示为 32 个十六进制(base-16)数字,以连字符分隔的五组显示,格式为 8-4-4-4-12,总共 36 个字符(32 个十六进制字符和 4 个连字符)。例如:123e4567-e89b-12d3-a456-426614174000。
但是当我保存我的表单时,它会将我的 UUID 呈现为字符串 0262d1dae7334d44b97b96f2915719ec
我的models.py是-
class registertable(models.Model):
registeri=models.UUIDField(primary_key=True, default=uuid.uuid4,editable=False,unique=True)
date_of_collection=models.DateField()
请提供帮助,因为当我使用它来保存和更新表单时,它会给我以下错误-['“”不是有效的 UUID。']
已编辑
视图.py
def collection(request):
if request.method=='GET':
return render (request,'register/collection.html',{'form':collectionform()})
else:
form=collectionform(request.POST)
newcollectionform=form.save(commit=False)
newcollectionform.save()
return render (request,'register/collection.html',{'form':collectionform()})
表格.py
class Meta:
model = registertable
fields = ['date_of_collection']
widgets = {
'date_of_collection':DateInput(),
}
HTML.py
/head>
<body>
<form action="" method="POST">
{% csrf_token %}
</div>
{{ form.as_table }}
<input id="submit" type="submit" value="Submit">
</form>
<script>
$(function () {
$("#datetimepicker1").datetimepicker();
});
</script>
<script>
$(function () {
$('.selectpicker').selectpicker();
});
</script>
</body>
用于更新代码
视图.py
def seecollection(request):
collections=registertable.objects.all()
return render(request,'register/seecollection.html',{'collections':collections})
def editcollection(request,registertable_pk):
#pk=self.kwargs.get('collection_pk')
collection=get_object_or_404(registertable,pk=registertable_pk)
if request.method=='GET':
form=collectionform(instance=collection)
return render(request,'register/editcollection.html',{'collection':collection,'form':form})
else:
try:
form=collectionform(request.POST,instance=collection,)
form.save()
return redirect('seecollection')
except ValueError:
return render(request,'register/editcollection.html',{'collection':collection,'form':form,'error':'Incorrect Entry'})
HTML
{% include 'partical/_alert.html'%}
<form action="POST">
{% csrf_token %}
{{form.as_p}}
<input id="submit" type="submit" value="Submit">
</form>
<script>
解决方案
推荐阅读
- javascript - 如何使用 Jquery / Ajax 处理无限滚动的页码?
- java - 由于以下 pom 文件,进程以 java 应用程序的退出代码 -1073741819 (0xC0000005) 完成
- ios - 使用 ionic 命令的 iOS 应用程序图标
- go - 如何将golang变量设置为模板变量
- java - 在 Eclipse/JPA 中的嵌套类上获取“映射类型的 Java 类是成员类”
- javascript - 反应js从谷歌地图获取坐标
- c# - 从c#中的地址栏获取URL
- ios - 如何防止关闭swift3中的泄漏
- python - 当 Enum 不对底层值进行编码时,使用 Enum 有什么好处?
- java - 如何将 UTC 转换为 SGT