Как найти одну модель и получить связанные поля из другой модели в Django
Я работаю над проектом на Django, где у меня есть две модели: Profile и submitted_apps. Как мне эффективно связать эти модели так, чтобы я мог получить данные профиля кандидата, такие как имя пользователя, нация, штат, при поиске в модели submitted_apps. Хорошо ли использовать OneToOneFields, как я сделал здесь на всех моделях. Поймите, что модель submitted_apps записывает тех заявителей, которые успешно отправили свою анкету. У меня также есть форма ModelForm с именем Applicant_Search_Form. Код модели профиля приведен ниже
class Profile(models.Model):
applicant = models.OneToOneField(User, on_delete=models.CASCADE, null = True)
surname = models.CharField(max_length=10, null=True)
othernames = models.CharField(max_length=30, null=True)
gender = models.CharField(max_length=6, choices=GENDER, blank=True, null=True)
nation = models.CharField(max_length=10, choices=NATION, blank=True, null=True)
state = models.CharField(max_length=20, null=True)
address = models.CharField(max_length=200, null=True)
phone = models.CharField(max_length=11, null=True)
image = models.ImageField(default='avatar.jpg', upload_to ='profile_images')
Ниже представлен код модели"
class submited_apps(models.Model):
applicant = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
application = models.UUIDField(primary_key = True, editable = False, default=uuid.uuid4)
confirm = models.BooleanField()
date = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
self.application == str(uuid.uuid4())
super().save(*args, **kwargs)
def __unicode__(self):
return self.applicant
def __str__(self):
return f'Application Number: {self.application}-{self.applicant}'
Вот мой код для ModelForm
class Applicant_Search_Form(forms.ModelForm):
class Meta:
model = submited_apps
fields = ['applicant']
Вот мой взгляд на поиск
def SearchApplicants(request):
context = {}
searchForm = Applicant_Search_Form(request.POST or None)
if searchForm:
list_applicants = submited_apps.objects.filter(applicant__iexact=[searchForm['applicant'].value()])
else:
list_applicants= submited_apps.objects.all()
paginator = Paginator(list_applicants, 5)
page = request.GET.get('page')
paged_listApps = paginator.get_page(page)
context.update({
'list_applicants':paged_listApps,
'searchForm':searchForm,
})
return render(request, 'user/search_applicants_nation.html',context)
Моя проблема в том, что я получаю это сообщение об ошибке при загрузке plage.
Related Field got invalid lookup: icontains