我有兩個與之合作的模型。第一個是教育模式,即一個用戶可以輸入多個學歷情況:django:當Userinfo的每個實例在教育模型中有多個實例時,如何獲取模型Userinfo的多個實例
class Education(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
degree_name = models.CharField(max_length=150,null=True,blank=True)
institute_name = models.CharField(max_length=150, null=True, blank=True)
date_start = models.CharField(null=True,blank=True,max_length=25)
date_end = models.CharField(null=True,blank=True,max_length=25)
description = models.TextField(null=True,blank=True,max_length=1000)
第二種模式是在其中一個用戶最多可以有一個實例的「用戶信息」模式:
class Userinfo(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
user_info = models.ForeignKey(User_info,related_name='user_info',on_delete=models.CASCADE,null=True)
profile_pic = models.FileField(null=True,blank=True)
dob = models.CharField(max_length=25,null=True,blank=True)
nationality = models.CharField(max_length=100, null=True, blank=True)
headline = models.CharField(max_length=160, null=True,blank=True)
summary = models.TextField(max_length=1000, null=True, blank=True)
current_salary = models.FloatField(null=True,blank=True)
japanese_level = models.CharField(max_length=50, null=True, blank=True)
english_level = models.CharField(max_length=50, null=True, blank=True)
career_level = models.CharField(max_length=50,null=True,blank=True)
availability = models.CharField(max_length=50, null=True, blank=True)
expected_salary = models.FloatField(null=True, blank=True)
job_role = models.CharField(max_length=50,null=True)
當我使用任何查詢來獲取的,如「用戶信息」的任何實例:
Userinfo.objects.filter(user=request.user)
我怎麼可以涉及這兩款車型,使得通過用戶信息循環的時候,我應該能夠得到多個插件它在教育模式中的作用。我應該如何改變我的模型並查詢它們?
實際上,這不是我正在尋找的,我正在尋找在一個查詢中獲取UserInfo實例以及用戶的所有教育實例。 – jencko
我的項目中存在一種情況,我需要在一次查詢中將所有用戶信息與他的教育一起使用,以便我可以使用for循環並打印所有用戶的信息以及他們各自的教育。 – jencko
@jencko我很抱歉,但我無法幫助您在1個查詢中實現該功能,但如果您希望採用這種方法,我可以爲您提供指導。 –