не работает в models.py:__unicode __() не очень хорошо
class POstan(models.Model):
name = models.TextField()
shortname = models.TextField()
map = models.TextField()
man = models.CharField(max_length=128)
woman = models.CharField(max_length=128)
about = models.TextField(blank=True, null=True)
map_img = models.TextField()
def __str__(self):
return self.name
class Meta:
managed = False
db_table = 'p_ostan'
В views.py:
def select(request):
list = PMenu.objects.all()
os = request.META['PATH_INFO']
os = os[8:]
items = PShahr.objects.filter(ostan=os)
farsi = POstan.objects.filter(shortname=os)
return render(request, 'select.html', {'list':list, 'os':os, 'farsi': farsi, 'items': items})
select.html:
{{ farsi }}
Выход это прямо сейчас:
[<POstan: اصفهان>]
Я хочу выход быть таким:
اصفهان
Как я должен это делать?
farsi - это в основном список объектов, возвращенных после запроса фильтра. В шаблоне вам необходимо прокрутить объекты и напечатать имя каждого объекта. попробуйте это '{% for far in farsi%}' '{{far.name}}' '{% endfor%}' –
Это работает, спасибо ou. – niloofar