Django models 允许用户计划事件并将其链接到他们的帐户信息,以便在django模板中使用

Django models 允许用户计划事件并将其链接到他们的帐户信息,以便在django模板中使用,django-models,django-templates,django-views,django-users,Django Models,Django Templates,Django Views,Django Users,我已经查看了类似问题的答案,但我无法找到适合我的情况的答案,所以我将发布我的问题。按照我的方式,当我试图获取创建事件的用户的名字时,我总是得到“无”的结果。。。因此,我有多个类的用户,我希望允许一种类型的用户能够安排事件,模板显示创建事件的用户以及与事件相关的类中的各种其他字段。例如: #models.py class BaseProfile(models.Model): user = models.ForeignKey(User, unique=True) first_nam

我已经查看了类似问题的答案,但我无法找到适合我的情况的答案,所以我将发布我的问题。按照我的方式,当我试图获取创建事件的用户的名字时,我总是得到“无”的结果。。。因此,我有多个类的用户,我希望允许一种类型的用户能够安排事件,模板显示创建事件的用户以及与事件相关的类中的各种其他字段。例如:

#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 %}

这将显示“广播公司名称:无”。我是否完全朝着错误的方向前进,或者我能做些什么来让这一切顺利进行?抱歉,这让人困惑。我试图尽可能地把它弄清楚,但鉴于我自己是多么困惑,我不知道我在试图描述我的问题时有多成功。谢谢你的帮助。如果我需要澄清什么,请告诉我。

您是否尝试过模板中的
{{{v.讲师.first_name}}


请注意
(句号/点/句点/你叫它什么)而不是
\uuu
(双下划线)。

我试过了,但没用。我终于想出了一个至少目前有效的解决方案,但我不确定这是最好的方法。谢谢你的帮助。我知道我没有尽力解释我的问题。你能为这个问题的未来读者解释一下答案吗?我最终做的是让它在我的模板中工作,而不是{{v.讲师.第一名}或{v.讲师.第一名},我能够使用{{v.讲师.获取个人资料.第一名}。