0

我已经查看了发布到类似问题的答案,但我无法为我的情况找到任何工作,所以我会发布我的问题。我拥有它的方式,当我尝试获取创建事件的用户的名字时,我总是得到结果“无”......所以我有多个用户类别,我想允许一种类型的用户成为能够安排事件,模板显示创建事件的用户以及与事件相关的类中的各种其他字段。例如:

#models.py

class BaseProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    first_name = models.CharField(max_length=20, verbose_name=_('First Name'))
    last_name = models.CharField(max_length=20, verbose_name=_('Last Name'))
    ...
    #More common fields

#Used for when a new broadcaster registers; fields specific to broadcasters
classBroadcasterProfile(models.Model):
    user_type = models.CharField(max_length=20, default="broadcaster")
    ...
    #Other fields specific to broadcasters

#Used when a broadcaster creates a profile for themselves after they have registered
class BroadcasterAccountProfile(BroadcasterProfile):
    ...

#A broadcaster wants to schedule an event
class UpcomingEvents(models.Model):
    title = models.CharField(max_length=50, verbose_name=_('Title'))
    description = models.TextField(max_length=100, verbose_name=_('Event Description'))
    instructor = models.ForeignKey(BroadcasterAccountProfile, null=True, blank=True, related_name='instructor')
    event_date = models.DateField(auto_now=False, auto_now_add=False, verbose_name=_('Date of Event'))
    ...
    #Additional info to be included with the scheduling of event

因此,在广播公司注册、创建个人资料并安排活动(一切都成功)之后,我试图用于显示即将到来的预定活动的视图如下:

#views.py
def upcoming_event_list(request):
    today = datetime.date.today()
    tomorrow = datetime.date.today() + datetime.timedelta(days=1)
    todays_events = UpcomingEvents.objects.filter(event_date=today)
    tomorrows_events = UpcomingEvents.objects.filter(event_date=tomorrow)
    return render_to_response('events/preview.html', {'today': today, 'tomorrow': tomorrow,
    ...

我可以让我的模板显示与即将到来的事件相关的任何内容,除了与创建该事件的广播公司相关的任何内容。我尝试为我的观点添加价值:

def upcoming_event_list(request):
    ...
    values = UpcomingEvents.objects.values('instructor__first_name', 'instructor__last_name', 'instructor__avatar')

#template.html
{% for v in values %}
    Broadcaster Name:{{ v.instructor__first_name }}
{% endfor %}

这将显示“广播公司名称:无”。我是否完全朝着错误的方向前进,或者我能做些什么来尝试完成这项工作?对不起,如果这令人困惑。我试图让它尽可能清楚,但看到我自己很困惑,我不知道我在试图描述我的问题时有多成功。谢谢你的帮助。如果我需要澄清任何事情,请告诉我。

4

1 回答 1

0

你试过{{ v.instructor.first_name }}你的模板吗?

请注意.(句号/点/句点/无论你怎么称呼它)而不是__(双下划线)。

于 2012-09-13T19:18:23.907 回答