Уведомления

Группа в Telegram: @pythonsu

#1 Май 19, 2012 18:15:25

iga
От:
Зарегистрирован: 2011-05-21
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение всех значений модели.

Привет.

Есть такая модель:

class Post(models.Model):
	url = models.URLField()
	creator = models.ManyToManyField(Author)
	status = models.CharField(max_length=10)
	title = models.CharField(max_length=50)
	content = models.TextField()
	tags = models.CharField(max_length=30)
	date = models.DateTimeField()
	def __unicode__(self):
		return self.title

и такая функция во view.py

def index(request):
	category = Category.objects.all()
	post = Post.objects.all()
	return render_to_response('base.html', {'category': category[:10], 'post': post})

{% for title in post %}
       <p><a href="{{ title }}">{{ title }}</a></p>
{% endfor %}

Пытаюсь вытянуть значения post из базы, и выходит вытянуть только title. НЕ получается вытянуть date или content. Пробовал по разному.

Подскажите как?



Офлайн

#2 Май 19, 2012 18:39:39

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

Получение всех значений модели.

Немного переименую для понятности:

def index(request):
	categories = Category.objects.all()
	posts = Post.objects.all()
	return render_to_response('base.html', {'categories': category[:10], 'posts': posts})

{% for post in posts %}
       <p><a href="{{ post.title }}">{{ post.title }}</a></p>:
{{ post.content }} {{ post.date }}
{% endfor %}


Вы по сути проходили по постам и выводили каждый post (а не title), а их отображение определяется в __unicode__(), который возвращает title, только по этому и совпало что for title in post отдавал title, но всё-равно объекты там — post а не post.title



Офлайн

#3 Май 19, 2012 18:47:45

iga
От:
Зарегистрирован: 2011-05-21
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Получение всех значений модели.

Все так и есть. Спасибо за помощь:)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version