- Я сохраняю проект.
- Имеет встроенную модель Практика.
- В режиме сохранения модели Practitioner я запускаю собственный код для вставки другой записи в другую таблицу с именем Simple Auth.
Я думал, что если я передам практикующему экземпляр проекта, как я делаю это в views.py, то сохранение после сохранения сможет ссылаться на проект себя.
Итак, мой 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
, похоже, не имеет никакого значения. Почему я не могу получить такой идентификатор проекта?
Просто записка. Если я создаю свой проект через администратора, то все это работает. Это в моей форме, что это не работает.