我要做的只是在渲染之前替换模型中的某些项目。因此,只需在每个business.address
中替换'||'与“,”。我正在尝试这样做:
def category(request, q):
businesses = Business.objects.filter(category_string__icontains=q)[:50]
for b in businesses:
if '||' in b.address:
b.address.replace('||', ', ')
print(b.address)
但是我仍然看到相同的字符串而没有替换。是什么原因?
答案 0 :(得分:1)
字符串在Python中是不可变的;因此,str.replace
不是就地。
您需要再次进行名称绑定:
b.address = b.address.replace('||', ', ')