1
- 我正在保存一個項目。
- 它有一個醫生內聯模型。
- 在實踐者模型的def保存中,我正在運行自定義代碼以將另一個記錄插入另一個名爲Simple Auth的表中。
我的想法是,如果我將項目實例傳遞給醫生,就像我在views.py中做的那樣,那麼def保存就可以引用自己的項目。無法獲得父母ID記錄以保存額外的記錄保存內聯
所以我views.py看起來是這樣的:
def form_valid(self, form):
practitioner_form = context['practitioner_form']
if practitioner_form.is_valid():
self.object = form.save(commit=False)
self.object.slug = slugify(self.object.title)
self.object.save()
practitioner_form.instance = self.object
practitioner_form.save()
return HttpResponseRedirect(reverse('profile_detail', kwargs={'username':user.username}))
else:
return self.render_to_response(self.get_context_data(form=form))
我從業高清保存這個樣子的:
def save(self, *args, **kwargs):
if SimpleAuth.objects.filter(project=self.project,name=self.practitioner_name).exists():
simpleauth = SimpleAuth.objects.get(project=self.project,name=self.practitioner_name)
simpleauth.project = self.project
simpleauth.name = self.practitioner_name
simpleauth.save()
else:
SimpleAuth.objects.create(project = self.project, name = self.practitioner_name)
super(Practitioner, self).save(*args, **kwargs)
出於某種原因simpleauth.project = self.project
似乎沒有任何價值。爲什麼我不能像這樣獲得項目ID?
只是一個說明。如果我通過管理員創建我的項目,那麼它一切正常。這在我的表格上是行不通的。