У меня есть модель:
class Code(models.Model):
section = models.CharField(max_length=255)
code_uid = models.UUIDField()
def __str__(self):
return self.section
и форма:
class MyForm(Form):
code_uid = ModelChoiceField(queryset=Code.objects.all(), to_field_name="code_uid")
Но следующий код после POST этой формы:
if my_form.is_valid():
print(my_form)
print(my_form.cleaned_data)
print(my_form.cleaned_data["code_uid"])
print(type(my_form.cleaned_data["code_uid"]))
Печать:
для my_form правильно отображаемый HTML:
<tr><th><label for="id_code_uid">Code uid:</label></th><td><select name="code_uid" required id="id_code_uid">
<option value="">---------</option>
<option value="e3112238-0768-1111-aaaa-4654ab799752">foo</option>
<option value="e3112238-0768-1111-aaaa-4654ab799752">bar</option>
для my_form.cleaned_data :
{'code_uid': <Code: foo>} <== should be the UUID
для my_form.cleaned_data ["code_uid"] :
foo
для типа (my_form.cleaned_data ["code_uid"]) :
<class 'creator.models.Code'>
Как мне получить значение UUID в словаре cleaned_values?