Python转换-[<;位置:伦敦>;]到伦敦
请原谅我的全部新手问题,但我如何转换:Python转换-[<;位置:伦敦>;]到伦敦,python,django,Python,Django,请原谅我的全部新手问题,但我如何转换: []或[,]等 进入: “伦敦”或“伦敦爱丁堡” 将其置于上下文中的一些背景信息: Models.py: class Location(models.Model): place = models.CharField(max_length=100) def __unicode__(self): return self.place class LocationForm(ModelForm): class Meta:
[]
或[,]
等
进入:
“伦敦”或“伦敦爱丁堡”
将其置于上下文中的一些背景信息:
Models.py:
class Location(models.Model):
place = models.CharField(max_length=100)
def __unicode__(self):
return self.place
class LocationForm(ModelForm):
class Meta:
model = Location
forms.py
class BookingForm(forms.Form):
place = forms.ModelMultipleChoiceField(queryset=Location.objects.all(), label='Venue/Location:', required=False)
views.py
def booking(request):
if request.method == 'POST':
form = BookingForm(request.POST)
if form.is_valid():
place = form.cleaned_data['place']
recipients.append(sender)
message = '\nVenue or Location: ' + str(place)
send_mail('Thank you for booking', message, sender, recipients)
)
如果要更改Django模型在shell中的打印方式,请重写
\uuuu repr\uuuu
方法。如果它是在shell中打印的查询的结果,请重试
[x.name for x in result]
如果
name
是包含位置名称的属性。则打印的是查询列表,而不是单个元素
u', '.join(x.place for x in Q)
您可以使用regexp来实现这一点。给出您的第一个示例:
import re
s = "[<Location: London>]"
m = re.search("Location: (.*)>", s)
print m.group(1)
London
重新导入
s=“[]”
m=重新搜索(“位置:(.*)>”,s)
打印m.group(1)
伦敦
这是字符串还是您打印了词典?看起来您正在查看模型的unicode表示形式。向我们展示模型代码,我们可以解释访问哪个字段以及如何操作您在这里谈论的是字符串列表还是Location
模型类实例列表?如果是模型实例列表,请尝试map(str,)
-1:代码不足,甚至无法猜测发生了什么。但这不会改变QueryList的显示方式。自从我发布此答案后,原始问题已更改。这方面的建议政策是什么?删除答案?别管它?