Использование: Django 3.0 2 приложения: одно приложение имеет поле OneToOne для другого.
Вот пример:
parent_app/models.py
class ParentModel(models.Model):
ref_field = models.CharField(max_length=123, verbose_name='The Reference')
another_field = models.CharField(max_lenth=123,)
child_app/models.py
class ChildModel(models.Model):
ref_field_value= models.OneToOneField(ParentModel, verbose_name='The Reference Field')
child_app/url.py
path('childcreate/<int:pk>', views.ChildCreateView.as_view(), name ='childcreate'),
child_app/views.py
class ChildCreateView(LoginRequiredMixin,CreateView)
model = ChildModel
template_name = 'childcreate.html'
form_class = ChildCreateForm
success_url = reverse_lazy('parentlist')
Объяснение потока : список родителей. html содержит ссылку на URL-адрес ChildCreateView ... с отношением OneToOne. Я несу Parent_object PK в URL-адресе к дочернему приложению.
Цель: Я хочу сохранить значение the_field в ChildModel на основе запроса ParentModel, используя URL / pk из этой модели для get () заданное c значение объекта в качестве значения по умолчанию для the_field. Я также рассмотрел использование 'initial' в CreateView ...
Мне нужно знать, как использовать url / pk в Model [или View], чтобы сделать функцию [query] для default_value для the_field или задайте «начальное» значение в представлении.
Я прочитал почти все подобные вопросы без успеха ... может быть, я что-то упустил.
Квалификация: Я относительно новичок в Python и Django.
. Мне будет очень полезно указывать мне направление.