Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.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/21.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 仅使用django列出的第二个字符_Python_Django_Unicode - Fatal编程技术网

Python 仅使用django列出的第二个字符

Python 仅使用django列出的第二个字符,python,django,unicode,Python,Django,Unicode,我正在尝试将django中默认的multi-select字段从多对多字段更改为复选框。我设法显示了复选框和所有内容,但在浏览器中,我只得到每个字段值的第二个字符,而在django shell中键入相同命令时,我得到了完整的列表 例如: 当我打字时: from myapp.models import Interest obj_list = Interest.objects.all() x = [obj.interest_mame for obj in obj_list] x 我得到的预期结果是

我正在尝试将django中默认的multi-select字段从多对多字段更改为复选框。我设法显示了复选框和所有内容,但在浏览器中,我只得到每个字段值的第二个字符,而在django shell中键入相同命令时,我得到了完整的列表

例如:

当我打字时:

from myapp.models import Interest

obj_list = Interest.objects.all()
x = [obj.interest_mame for obj in obj_list]
x
我得到的预期结果是(对于前几个值)

然而,当我在浏览器中打开注册表时,我只得到每个字符串的第二个字母

在本例中,复选框旁边将是raua

我的文件如下所示:

from django.forms import ModelForm
from myapp.models import Person, Interest

from django import forms
from django.forms.extras.widgets import SelectDateWidget


class PersonForm(ModelForm):
    year_range = range(1996, 1920, -1)
    person_birthdate = forms.DateField(widget=SelectDateWidget(years=year_range))
    obj_list = Interest.objects.all()
    person_interests = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=[obj.interest_name for obj in obj_list])
    class Meta:
        model = Person
我想可能是每个字符串前面的u,但我读到这只会显示它是一个unicode字符串


如果你们中有人能解释一下为什么我会出现这种奇怪的显示错误,我会非常高兴。

选择需要是一个元组列表
(value,display\u value)
,如下所示。例如,如果希望显示值与提交的值相同,可以对obj\u列表中的obj执行
选择=[(obj.interest\u name,obj.interest\u name)]

from django.forms import ModelForm
from myapp.models import Person, Interest

from django import forms
from django.forms.extras.widgets import SelectDateWidget


class PersonForm(ModelForm):
    year_range = range(1996, 1920, -1)
    person_birthdate = forms.DateField(widget=SelectDateWidget(years=year_range))
    obj_list = Interest.objects.all()
    person_interests = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=[obj.interest_name for obj in obj_list])
    class Meta:
        model = Person