Django Ошибка Невозможно использовать None в качестве значения запроса

Я следую базовому руководству по поиску в https://learndjango.com/tutorials/django-search-tutorial. но без админа. выдает ошибку Cannot use None as a query value, но когда я перехожу к оболочке python shell, она выдает мне studid и studlastname, которые я хочу

>>>from clearance.models import Student
>>>query=Student.objects.using('srgb').get(studid__icontains='2012-5037')
>>><QuerySet [<Student: Student object (2012-5037)>]>
>>>query.studid
'2012-5037'
>>>query.studlastname
'Michael'

views.py

class SearchResultsView(ListView):
model = Student
template_name = 'clearance/search.html'

def get_queryset(self):
    query = self.request.GET.get("q")
    object_list = Student.objects.using('srgb').get(
        Q(studid__icontains=query) | Q(studlastname__icontains=query)
    )
    return object_list

search.html

<form action="{% url 'search_results' %}" method="get">
<input name="q" type="text" placeholder="Search...">
</form>
<h1>Search Results</h1>
<ul>
{% for result in object_list %}
<li>
  {{ result.studid }}
</li>
{% endfor %}
</ul>

редактируйте models.py

class Student(models.Model):
studid = models.CharField(primary_key=True, max_length=9)
studlastname = models.CharField(max_length=35)
studfirstname = models.CharField(max_length=35)
studmidname = models.CharField(max_length=35, blank=True, null=True)
studsuffix = models.CharField(max_length=5, blank=True, null=True)
studpermaddr = models.CharField(max_length=100, blank=True, null=True)
studzip = models.CharField(max_length=4, blank=True, null=True)
studbirthdate = models.DateField(blank=True, null=True)
studbirthplace = models.CharField(max_length=40, blank=True, null=True)
studgender = models.CharField(max_length=1, blank=True, null=True)
studlegstatus = models.CharField(max_length=10, blank=True, null=True)
studcitizen = models.CharField(max_length=10, blank=True, null=True)
studreligion = models.CharField(max_length=50, blank=True, null=True)
studethnic = models.CharField(max_length=20, blank=True, null=True)
studfather = models.CharField(max_length=40, blank=True, null=True)
studmother = models.CharField(max_length=40, blank=True, null=True)
studpaddr = models.CharField(max_length=100, blank=True, null=True)
studspouse = models.CharField(max_length=40, blank=True, null=True)
studspaddr = models.CharField(max_length=100, blank=True, null=True)
studfullname = models.CharField(max_length=100, blank=True, null=True)
studfullname2 = models.CharField(max_length=100, blank=True, null=True)
date_admitted = models.DateField(blank=True, null=True)
studcontactno = models.CharField(max_length=20, blank=True, null=True)
payment_sy = models.CharField(max_length=9, blank=True, null=True)
payment_sem = models.CharField(max_length=1, blank=True, null=True)
basis_of_admission = models.CharField(max_length=100, blank=True, null=True)
graduated_primary = models.CharField(max_length=40, blank=True, null=True)
graduated_primary_year = models.IntegerField(blank=True, null=True)
graduated_intermediate = models.CharField(max_length=40, blank=True, null=True)
graduated_intermediate_year = models.IntegerField(blank=True, null=True)
graduated_highschool = models.CharField(max_length=40, blank=True, null=True)
graduated_highschool_year = models.IntegerField(blank=True, null=True)

class Meta:
    managed = False
    db_table = 'student'
Вернуться на верх