如何添加具有其他模型Django外键的模型实例

时间:2018-08-27 18:58:33

标签: django django-models

我是django的新手,我陷入了一个问题,我扩展了用户模型,其中有两个用户老师和学生。教师是从管理站点添加的,而学生是由教师通过csv_files添加的。模型结构如下:

class User(AbstractUser):
is_student=models.BooleanField(default="False")
is_prof=models.BooleanField(default="False")


class Teacher(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
designation=models.CharField(max_length=30)



class Student(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
teacher=models.ForeignKey(Teacher,on_delete=models.CASCADE,default="")
batch=models.CharField(max_length=30)

现在,当用户登录时,我希望该用户成为老师,并且应该添加学生。在登录期间,如登录用户模型一样,如何确保特定的老师正在添加学生,并且该特定的老师也是要保存为学生模型,因为它是指(外键)教师模型。我现在必须通过主键来完成,但是我该怎么办。我进行了很多搜索,但找不到任何东西,需要一些好的方法。

我尝试过的我的方法是:

   (1)   teacher= get_object_or_404(Teacher, pk=teacher_id)
            for iterate in range(0,t_len):
               obj=User.objects.create_user
                  (username=myids[iterate],password=passwords[iterate],
                  is_student=True,is_prof=False)
               obj.save()
               Student.objects.create(user=obj,teacher=teacher,batch="F-14")

但是如何获得(1)中提到的Teacher_id

0 个答案:

没有答案