views.py
teacherObj = Teacher2020.objects.create(
name = request.POST.get('teacher_name'),
school = request.POST.get('teacher_school'),
mobile_no = request.POST.get('teacher_mobile'),#error
email = request.POST.get('teacher_email'),
)
max_team_id = random.randint(1,500)#Team2020.objects.filter(team_id__contains='2020IRSCPOLICYS').aggregate(Max('team_id'))#error :(
print(max_team_id)
max_team_id = '2020IRSCPOLICYS' + str(max_team_id)
print(max_team_id)
#max_team_id = int(max_team_id[-3:]) + 1
tObj = Team2020.objects.create(
team_id=max_team_id,
tname=request.POST.get('team_name'),
institute=request.POST.get('institute'),
pUser=ppUser,
teacher=teacherObj,
city=request.POST.get('city'),
state=request.POST.get('state'),
# is_school = request.POST.get('school'), shall we use these fields to identify
# is_college = request.POST.get('college'),
)
models.py
class Teacher2020(models.Model):
name = models.CharField(max_length = 50)
school = models.CharField(max_length=50)
mobile_no = models.IntegerField()
email = models.EmailField(null=True)#bug
class Team2020(models.Model):
pUser = models.OneToOneField(PolicyPortalUser2020,on_delete=models.CASCADE,blank=True,null=True)
phase = models.ForeignKey(Phase2020,on_delete=models.DO_NOTHING,blank=True,null=True)
teacher = models.ForeignKey(Teacher2020,on_delete=models.DO_NOTHING,blank=True,null=True)
notifications = models.ManyToManyField(Notifications2020,blank=True,)
is_offer_generated = models.BooleanField(default=False)
id = models.IntegerField(null=True,blank=True)
team_id = models.CharField(primary_key=True,max_length=30)
tname = models.TextField()
city = models.CharField(max_length = 40, null = True, blank = True)
state = models.TextField()
institute = models.TextField(default=None)
def __str__(self):
return self.tname
Я создаю форму, и она дает мне ошибку целостности данных в django - рассказывает, как отладить это. Модели учителя выдают ошибку целостности базы данных. Я отправляю ее из формы и возвращаю ее в views.py и сохраняю данные формы в базе данных с именем Teacher2020 соответственно.