Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python UUID上带有ModelChoiceField的Django表单不会在已清理的\u数据中显示其内容_Python_Django_Django Models_Django Forms - Fatal编程技术网

Python UUID上带有ModelChoiceField的Django表单不会在已清理的\u数据中显示其内容

Python UUID上带有ModelChoiceField的Django表单不会在已清理的\u数据中显示其内容,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,我有一个模型: 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.objec

我有一个模型:

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")
但此表单的帖子后面有以下代码:

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"]))
印刷品:

对于我的表单正确显示的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_uid': <Code: foo>}  <== should be the UUID
foo
<class 'creator.models.Code'>


我应该如何在已清理的UUID值字典中获取UUID值?

我不确定您想要实现什么:

  • to_field_name
    只指定表单中应使用的值;它应该是唯一的(好吧,uuid实际上是唯一的…)。但它在这里没有任何用途,因为默认情况下使用django自动生成的pk,这保证是唯一的
  • 在任何情况下,
    my\u form.cleaned\u data[“code\u uid”]
    包含的都是您在表单中选择的
    creator.models.code
    模型的实例。您可以获取UUID的
    my_form.cleaned_data[“code_uid”]。code_uid
    ,并根据需要使用它

没错,.code\u uid我几秒钟前通过pdb硬搜索找到了它。谢谢