2016-07-05 60 views
0

我創建了稱爲Interview,Users,Interview_interviewer的模型,類似智能... Interview_interviewer表具有來自其他模型的外鍵。 我只是想將這兩個表的數據保存到Interview_interviewer(沒有django表單)表中,這個表是多對多表。所以我只是爲它創建了視圖和模板。當點擊按鈕時,保存採訪者與採訪一起保存。但是當它這樣做時,它給了我和錯誤,稱爲「用戶匹配查詢不存在」。 /home/govinda/DMG/test3/myapp/views.py in hod_inter_interviewer_2 usr = User.objects.get(id = pid) 我該怎麼辦?如何使用django視圖將特定用戶實例保存到數據庫中

類訪談(models.Model):

Time = models.TimeField() 
Date = models.DateField() 
Venue = models.ForeignKey('Venue') 
HOD = models.ForeignKey(User) 
Vacancy = models.ForeignKey('Vacancy', on_delete=models.CASCADE) 
Department = models.ForeignKey(Department, on_delete=models.CASCADE) 
InterviewType = models.ForeignKey(InterviewType, on_delete=models.CASCADE) 
Interviewer_Review = models.TextField(blank=True, null=True) 
HOD_Review = models.TextField(blank=True, null=True) 
HR_Review = models.TextField(blank=True, null=True) 
NoOfPasses = models.PositiveIntegerField(blank=True, null=True) 
NoOfFails = models.PositiveIntegerField(blank=True, null=True) 
NoOfOnHolds = models.PositiveIntegerField(blank=True, null=True) 
InterviewNo = models.IntegerField(blank=True, null=True) 
Post = models.ForeignKey(Post, on_delete=models.CASCADE) 

類用戶(models.Model):

User = models.OneToOneField(User) 
FullName = models.CharField(max_length=100) 
Post = models.ForeignKey(Post) 
UPhoto = models.FileField(upload_to=User_directory_path,null = True,blank=True) 
Department = models.ForeignKey(Department) 
UserRole = models.ForeignKey(UserRole) 

def __str__(self): 
    return u'{}'.format(self.User) 

類Interview_Interviewer(models.Model ):

Interview = models.ForeignKey(Interview) 
Interviewer = models.ForeignKey(User) 

def __str__(self): 
    return u'{}'.format(self.Interviewer) 

視圖...

DEF hod_pre_interviwer_list(請求,IID):

inter = Interview.objects.get(id=iid) 
a = UserRole.objects.get(Role="Interviewer") 
viewer = Users.objects.filter(UserRole=a.id) 
return render(request, 'hod_inter_create_2.html', {'viewer': viewer, 'inter': inter, 'a':a}) 

DEF hod_inter_interviewer_2(請求,IID,PID):

inter = Interview.objects.get(id=iid) 
usr = User.objects.get(id=pid) 
a = UserRole.objects.get(Role="Interviewer") 
viewer = Users.objects.filter(UserRole=a.id) 
usr_id = Users.objects.get(User=a.id) 
inter_id = inter 
person_id = usr_id 
form = Interview_Interviewer(Interview=inter_id, Interviewer=person_id) 
form.save() 
return render(request, 'hod_inter_create_2.html', {'viewer': viewer, 'inter': inter}) 

網址.. 。

urlpatterns = [

url(r'^hod/hod_vacancy/test/part2/inter_list/(\d+)/$', hod_pre_interviwer_list, name="inter1"), 
url(r'^hod/hod_vacancy/test/part2/inter_list/(\d+)/(\d+)/$', hod_inter_interviewer_2, name="inter2"), 

]

模板...

<a type="submit" class="btn btn-primary" href="/hod/hod_vacancy/test/part2/inter_list/{{ inter.id }}/{{ viewer.id }}">Add</a> 

回答

1

嘗試使用在你的URL模式

urlurl(r'^hod/hod_vacancy/test/part2/inter_list/?P<iid>[0-9]+)/?P<pid>[0-9]+/$', hod_inter_interviewer_2, name="inter2"), 

named groups如果不行的話,我建議您嘗試User.object.get(pk=pid)在大多數doc例子。

並確保在url中有一個具有該id(iid)的用戶。

您還應該使用get_object_or_404從視圖中的模型中獲取任何單個對象,因爲它提供了更加用戶友好和適當的錯誤。

相關問題