Как включить информацию из запроса в linkify в Tables2 в Django - использование для заполнения отношения многие-ко-многим

У меня есть отношения "многие ко многим", и я настраиваю способ добавления нового отношения из детального представления модели1. Я настроил его таким образом, что у меня есть url mapped для создания отношения, заданного pk(model1)/url/pk(model2). Это просто функция, которая добавляет отношения "многие ко многим" и перенаправляет обратно в детальный вид модели1.

У меня это работает на основе функции, но я хотел бы иметь возможность отображать список доступных записей ModelB, используя Tables2, но я не могу понять, как добавить pk(model1) к linkify в таблице, поскольку таблица основана на model2, а это не является частью определения model2.

Возможно, существует совершенно другой способ решения этой проблемы, который является более эффективным? (много документации и учебников о создании и работе с отношениями "многие-ко-многим", но не смог найти ни одного примера выполнения этой части, кроме как в оболочке)

Вот что у меня есть:

models.py
class Dmsesite(models.Model):
    ...

class Job(models.Model):  
    dmsesite = models.ManyToManyField(Dmsesite)
    ...

urls.py
path('<int:pk>/add_job/', views.DmsesiteAddJob, name='dmsesite_add_job'),
path('<int:dmsesite_pk>/add_job_to_site/<int:job_pk>', views.DmsesiteAddJobToSite, name='dmsesite_add_job_to_site'),

views.py
class DmseSiteAddJobListView(PermissionRequiredMixin, SingleTableMixin, FilterView):
    permission_required = 'dmsesites.view_dmsesite'
    redirect_field_name = 'dashboard'
    table_class = DmsesiteJobTable
    filterset_class = JobFilter
    model = Job
    table_pagination = {"per_page": records_per_page}
    template_name = 'dmsesites/dmsesite_add_job.html'

@login_required
@permission_required('dmsesites.add_job', raise_exception=True)
def DmsesiteAddJobToSite(request, dmsesite_pk, job_pk):
    dmsesite = get_object_or_404(Dmsesite, pk=dmsesite_pk)
    job = get_object_or_404(Job, pk=job_pk)
    job.dmsesite.add(dmsesite)
    response = redirect(reverse('dmsesite_detail', kwargs={'pk':dmsesite_pk}))
    return response

tables.py
class DmsesiteJobTable(tables.Table):    
    num = tables.Column(linkify=("add_job_to_site", {I NEED TO ADD SOMETHING HERE FOR THE PK OF DMSESITE, "pk": tables.A('id')}))
    class Meta:
        model = Job        
        fields = ('num', 'desc', 'client', 'contact', 'note', 'state')
        template_name = 'django_tables2/bootstrap.html'

Я думаю, что мне нужен способ передать pk dmsesite в таблицу, чтобы linkify мог добавить его в url.

Вернуться на верх