【问题标题】:How can I populate a select field based on the choice of it's foreign key in Django?如何根据在 Django 中选择的外键来填充选择字段?
【发布时间】:2018-09-29 13:01:48
【问题描述】:

基本上我都有这种情况。

型号 - 雇主,雇主联系方式

EmployerContact 是 Employer 的外键。

在我的表单中,我想选择雇主,然后动态填充 EmployerContact 的选择字段,仅包含所选雇主的联系人。

现在它显示所有雇主的所有 EmployerContacts。

我找到了几个解决方案,但它们看起来很粗略......有人可以指导我完成这个吗?

【问题讨论】:

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


    【解决方案1】:

    您可以添加更多代码以更好地理解问题。据我了解,您希望雇主的详细信息页面显示与之关联的联系人。

    在 Html 中可以添加

    {% for contact in employer.employercontact.all %} 
    /* here employercontact is the objectname that I have assumed, you can edit accordingly */
           {{ contact.employer_contact }}
    {% empty %}
            <p> No contacts </p>
    {% endfor %}
    

    在 urls.py 中

    path('employer/<int:pk>/', views.DetailView.as_view(), name='detail'),
    

    在views.py中

    class DetailView(generic.DetailView):
          model = Employer
          template_name = 'add your template name'
    

    【讨论】:

    • 感谢您的回答。对于我的问题不够清楚,我深表歉意。我认为我正在尝试做的事情很容易通过一些 javascript 来解决,以根据 Employer 选择使用 EmployerContact 对象动态填充选择字段。我现在已经通过实施多步骤表单解决了这个问题……在步骤 1 中选择雇主,然后在步骤 2 中选择联系人……等等。
    猜你喜欢
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多