Django models 如何在django中通过uuid4获取正确的UUID格式而不获取连字符?
我是新手,我正在尝试将uuid保存到我的模型中 正如所研究的,uuid的正确格式是- UUID表示为32个十六进制(以16为基数)数字,以8-4-4-4-12的形式分五组显示,共36个字符(32个十六进制字符和4个连字符)。例如:123e4567-e89b-12d3-a456-426614174000 但当我保存表单时,它会将我的UUID呈现为字符串Django models 如何在django中通过uuid4获取正确的UUID格式而不获取连字符?,django-models,django-forms,uuid,Django Models,Django Forms,Uuid,我是新手,我正在尝试将uuid保存到我的模型中 正如所研究的,uuid的正确格式是- UUID表示为32个十六进制(以16为基数)数字,以8-4-4-4-12的形式分五组显示,共36个字符(32个十六进制字符和4个连字符)。例如:123e4567-e89b-12d3-a456-426614174000 但当我保存表单时,它会将我的UUID呈现为字符串 0262d1dae7334d44b97b96f2915719ec 我的模特是- class registertable(models.Model)
0262d1dae7334d44b97b96f2915719ec 我的模特是-
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()})
class Meta:
model = registertable
fields = ['date_of_collection']
widgets = {
'date_of_collection':DateInput(),
}
/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>
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'})
forms.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()})
class Meta:
model = registertable
fields = ['date_of_collection']
widgets = {
'date_of_collection':DateInput(),
}
/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>
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.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()})
class Meta:
model = registertable
fields = ['date_of_collection']
widgets = {
'date_of_collection':DateInput(),
}
/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>
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>
{%include'particial/\u alert.html%}
{%csrf_令牌%}
{{form.as_p}}
它表示空字符串不是有效的uuid,因此问题可能是表单无法工作。您可以共享引发此错误的视图和模板吗?@WillemVanOnsem hey请检查edits0262d1dae7334d44b97b96f2915719ec此id已从数据库复制,因此我们可以说这正在生成uuid