私は2つのモデルを使用しています。最初のものは一人のユーザーが複数の教育資格インスタンスを入力できる教育モデルです:django:UserinfoのインスタンスごとにEducationモデルのインスタンスが複数ある場合、モデル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)
第2のモデルが一人のユーザが最大のインスタンスを持つことが可能な「ユーザー情報」モデルである:
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をループするとき、私は複数のインを得ることができる必要がありますように、私は両方のモデルに関連することができますどのように
Userinfo.objects.filter(user=request.user)
:私のような「ユーザー情報」のいずれかのインスタンスを取得するために、任意のクエリを使用する場合それは教育モデルの中にある。モデルを変更してクエリを実行するにはどうすればよいですか?
これは実際には私が探しているものではない、私は1つのクエリでユーザーのすべての教育インスタンスと一緒にUserInfoインスタンスを取得するために探しています。 – jencko
私のプロジェクトでは、私は自分の教育と一緒にすべてのユーザー情報を1つのクエリで必要とする状況があるので、forループを使用して、それぞれのユーザーの情報をそれぞれの教育と共に印刷できます。 – jencko
@jencko申し訳ありませんが、1つのクエリでこれを達成することはできませんが、このアプローチをご希望の場合は、私のやり方を説明することができます。 –