Django Модели OneToOneField, как установить значение default_value (или сохранить) из запроса на основе url / pk, перенесенного из другого приложения - PullRequest
0 голосов
/ 28 февраля 2020

Использование: 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.

. Мне будет очень полезно указывать мне направление.

...