Related Field got invalid lookup: icontains - Django
Admin.py
@admin.register(models.Student)
class StudentAdmin(admin.ModelAdmin):
list_display = ['first_name', 'last_name', 'city']
@admin.register(models.CourseTake)
class CourseTakeAdmin(admin.ModelAdmin):
list_display = ['student', 'course', 'grade', 'performance']
list_editable = ['grade']
search_fields = ['student']
def student(self, student):
return student.first_name
models.py
class Student(models.Model):
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
date_adimitted = models.DateField(auto_now=True)
address = models.CharField(max_length=255)
city = models.CharField(max_length=255)
state = models.CharField(max_length=255)
def __str__(self) -> str:
return f'{self.first_name} {self.last_name}'
class CourseTake(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE, related_name='coursetake') #similar to reviews in the product class
course = models.ForeignKey(Course, on_delete=models.CASCADE)
grade = models.DecimalField(max_digits=5, decimal_places=2)
class Meta:
unique_together = [['student', 'course']]
def __str__(self) -> str:
return f'{self.student.first_name} {self.student.last_name}'
Панель администратора, где я пытался искать имена
У меня есть строка поиска, которую я хочу использовать для поиска имен студентов, но она продолжает говорить "Related Field got invalid lookup: icontains". Однако, student в search_fields является внешним ключом, и я не знаю, как управлять им, чтобы я мог искать любое имя. 'Request URL: http://127.0.0.1:8000/admin/student/coursetake/?q=kj'