Python Django-如何将外键下拉到文本框中?

Python Django-如何将外键下拉到文本框中?,python,html,django,django-forms,Python,Html,Django,Django Forms,我有一个表单,其中有一个字段是ForeignKey,因为它确保输入的ID是数据库中存在的ID。将其设置为外键后,它将我的字段更改为如下所示形式的下拉列表,其中包含一组名为“销售人员对象('a number')”的选项,而不是以前的文本框。用户应该能够输入他们的“adp”号码,并且应该只允许销售人员输入号码 在我进行此更改之前,我只是在forms.py的字段下设置了adp\u编号,而不是作为外键,这使得我无法与包含所有有效adp\u编号的销售员模型进行交叉检查 由于我也不使用admin,所以我试

我有一个表单,其中有一个字段是ForeignKey,因为它确保输入的ID是数据库中存在的ID。将其设置为外键后,它将我的字段更改为如下所示形式的下拉列表,其中包含一组名为“销售人员对象('a number'”的选项,而不是以前的文本框。用户应该能够输入他们的“adp”号码,并且应该只允许销售人员输入号码

在我进行此更改之前,我只是在forms.py的字段下设置了adp\u编号,而不是作为外键,这使得我无法与包含所有有效adp\u编号的销售员模型进行交叉检查

由于我也不使用admin,所以我试着遵循这一点,但一旦我将字段变成一个小部件,它就完全停止显示在我的页面上,我不确定需要更改什么

forms.py

class WarehouseForm(AppsModelForm):
    class Meta:
        model = EmployeeWorkAreaLog
        widgets = {
            'adp_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('adp_number').remote_field, site),
        }
        fields = ('work_area', 'station_number')
class EmployeeWorkAreaLog(models.Model):
    employee_name = models.CharField(max_length=25)
    adp_number = models.ForeignKey(Salesman, on_delete=models.SET_NULL, help_text="Employee #", null=True, blank=False)
    work_area = models.ForeignKey(WorkArea, on_delete=models.SET_NULL, null=True, blank=False, help_text="Work Area", related_name="work_area")
    station_number = models.ForeignKey(StationNumber, on_delete=models.SET_NULL, null=True, help_text="Station", related_name="stations", blank=True)
型号.py

class WarehouseForm(AppsModelForm):
    class Meta:
        model = EmployeeWorkAreaLog
        widgets = {
            'adp_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('adp_number').remote_field, site),
        }
        fields = ('work_area', 'station_number')
class EmployeeWorkAreaLog(models.Model):
    employee_name = models.CharField(max_length=25)
    adp_number = models.ForeignKey(Salesman, on_delete=models.SET_NULL, help_text="Employee #", null=True, blank=False)
    work_area = models.ForeignKey(WorkArea, on_delete=models.SET_NULL, null=True, blank=False, help_text="Work Area", related_name="work_area")
    station_number = models.ForeignKey(StationNumber, on_delete=models.SET_NULL, null=True, help_text="Station", related_name="stations", blank=True)
进入退出区域.html

{% extends "base.html" %}
{% block main %}
    <form id="warehouseForm" action="" method="POST" data-stations-url="{% url 'operations:ajax_load_stations' %}" novalidate >
        {% csrf_token %}
        <div>
            <div>
                {{ form.adp_number.help_text }}
                {{ form.adp_number }}
            </div>
            <div>
                {{ form.work_area.help_text }}
                {{ form.work_area }}
            </div>
            <div>
                {{ form.station_number.help_text }}
                {{ form.station_number }}
            </div>
        </div>

        <div>
            <div>
                <button type="submit" name="enter_area" value="Enter">Enter Area</button>
                <button type="submit" name="leave_area" value="Leave">Leave Area</button>
            </div>
        </div>
    </form>
{% endblock main %}
{%extends“base.html”%}
{%block main%}
{%csrf_令牌%}
{{form.adp_number.help_text}
{{form.adp_number}
{{form.work\u area.help\u text}
{{form.work_area}}
{{form.station\u number.help\u text}
{{form.station_number}
进入区域
离开区
{%endblock main%}

它只会停止显示在您的页面上,因为您已将其从
字段
元组中删除。另请参见如果在字段元组中提供
adp\u number
,该怎么办?现在有了吗?是的,谢谢你们两位!!