通过CreateView类提交表单时如何访问模板中的OneToOne字段

时间:2018-08-11 11:37:25

标签: django django-models django-forms django-templates django-views

Models.py


class LeadReminder(models.Model):
    first_reminder = models.DateField(blank=True, null=True)
    second_reminder = models.DateField(blank=True, null=True)
    third_reminder = models.DateField(blank=True, null=True)
    remarks =  models.TextField(blank=True, null=True)


class LeadAdmin(models.Model):  
    admin_supporter_club_name =  models.CharField(max_length=240, blank=True, null=True) 
    leadreminder = models.OneToOneField(LeadReminder,    on_delete=models.CASCADE)



Views.py

class AdminCreateView(CreateView):
    fields=('admin_name_of_supporter_club')
    model = LeadAdmin
    template_name="Business_Dev/Business-admin-create.html"
    success_url='/business-admin/home/'



  (templates) Business-admin-create.html


  <form method="post">
  {% csrf_token %}

   {{form.as_p}}
  </form> 

在通过视图中的CreateView类提交表单时,如何访问模板中的LeadReminder模型字段。我在CreateView中定义LeadAdmin,并且LeadAdmin通过OneToOneField连接到LeadReminder。

在我定义模型LeadAdmin时,仅在CreateView中定义LeadReminder的字段会产生错误。

1 个答案:

答案 0 :(得分:0)

首先,您需要在views.py中导入模型。 然后在views.py中创建一个函数,下面的示例是一个非常简单的示例(还假设只有一个Leadreminder)....

def amendView(request):
    supporter = LeadAdmin.leadreminder(pk=1)
    return render(request, ' Business-admin-create.html', {'supporter':supporter})

在模板中,您应该可以使用变量支持器