Форум сайта python.su
0
Задача такая - есть пользователи, есть их профили, есть комментарии. Есть блок “последние комментарии”. Нужно в комментарии отобразить аватарку юзера.
Всё работает, всё хорошо.
Модель комментов:
class Comment(models.Model):
user = models.ForeignKey(User)
comment = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ("-timestamp",)
app_label = models.CharField(max_length=20)
id_of = models.PositiveIntegerField(max_length=10)
rating_value = models.IntegerField(max_length=4)
def get_last_comments(count=3):
from comments.models import Comment
last_comments = Comment.objects.order_by('-id')[:count]
return last_comments
<h4>Последние коментарии</h4>
{% if last_comments %}
{% for comment in last_comments %}
<div class="comment">
<img src="/static/images/trash/face.jpg" width="42" height="42" alt="" />
<h6>{{ comment.user }}</h6>
{{ comment.timestamp|date:"H:i" }} | {{ comment.timestamp|date:"d.m.Y" }}
<p>
{{ comment.comment }}
</p>
<a class="more_info rounded2" href="#">Подробнее</a>
</div>
{% endfor %}
{% endif %}
Отредактировано (Март 30, 2011 19:36:37)
Офлайн
8
http://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.models.User.get_profile - работает на любом этапе.
Офлайн
2
get_profile является не очень хорошим способом получения профиля.
Если нет других препятствий, то имеет смысл модель комментария (или любую другую, которая должна быть завязана на пользователя) сразу привязывать к профилю, а не к модели User. Тогда можно будут расширенную информацию по пользователе получать через просто select_realted.
Офлайн
0
Я знаю про get_profile(), но я не могу понять на каком этапе мне его использовать, что-бы каждый коммент получил профиль своего юзера. И эта проблема не завязана на профилях, она у меня возникла в нескольких местах, профили я привел как пример, с которым точно многие сталкивались.
По select_realted - у меня комментарии универсальные на сайте, то есть, я их делал так, что-бы можно было с минимумом кода подключить в к любому приложению. Из-за этого у меня таблица комментариев не связана с другими таблицами по ForeignKey, а только содержит инфу о имени приложения и уникального_id_в_этом_приложении.
Отредактировано (Март 31, 2011 10:06:08)
Офлайн
0
{{ comment.user.get_profile }} ?
Офлайн