В django filter argument kay not define error
моя модель
first_name=models.CharField(max_length=100, null=False)
last_name=models.CharField(max_length=100)
dept = models.ForeignKey(Department,on_delete=models.CASCADE)
salary = models.IntegerField(default=0)
bonus = models.IntegerField(default=0)
role = models.ForeignKey(Role, on_delete=models.CASCADE)
phone = models.IntegerField(default=0,max_length=12)
hire_date = models.DateField(default=datetime.now()
и мое мнение таково
if request.method == "POST":
# print("post received")
# print(request.POST)
name = request.POST['first_name']
d = request.POST['department']
role = request.POST['role']
emps = Employee.objects.all()
if name:
emps = emps.filter(Q(first_name__icontains== name) | Q(last_name__icontains == d))
if d:
pass
if role:
pass
return render(request, 'fil_emp.html')
но в это время я получил ошибку например ** "first_name__icontains" не определено **
Для проверки условия вам дается ==. Измените следующую строку следующим образом:
emps = emps.filter(Q(first_name__icontains = name) | Q(last_name__icontains = d))
Более подробную информацию вы можете найти в официальной документации Django: https://docs.djangoproject.com/en/4.0/ref/models/querysets/#django.db.models.Q