您可以修改小部件文本字段以进一步过滤Django / Python中的可用选项吗?

时间:2019-11-05 13:53:38

标签: python django

我在模型中创建了一个表格,其中包含一个名为 employee_number 的字段,该字段与一个名为 Salesman 的单独模型相关联,该模型包含所有员工的所有数据名称,电话号码,部门等。

当前,它仅在输入的员工编号在推销员中时才允许提交表格。我想做的就是进一步过滤它,以便只有属于 team “ MM”和“ OM”且 employee_status 为“ A”的员工是唯一能够提交表格的人。

我看到有人遇到类似问题的建议,他们说要在“事件”中添加更多约束,但是由于我不太熟悉Python,所以我不确定在这种情况下是否也可以工作。 / p>

forms.py

class WarehouseForm(AppsModelForm):
    class Meta:
        model = EmployeeWorkAreaLog
        widgets = {
            'employee_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('employee_number').remote_field, site, attrs={'id':'employee_number_field'}),
        }
        fields = ('employee_number', 'work_area', 'station_number')

models.py

class EmployeeWorkAreaLog(TimeStampedModel, SoftDeleteModel, models.Model):
    employee_name = models.CharField(max_length=25)
    employee_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)
    station_number = models.ForeignKey(StationNumber, on_delete=models.SET_NULL, null=True)

    def __str__(self):
        return self.employee_number

alldata / models.py

class Salesman(models.Model):
    id = models.IntegerField(db_column='number', primary_key=True)
    team = models.CharField(max_length=2)
    employee_status = models.CharField(max_length=1, blank=True)

0 个答案:

没有答案