У меня два приложения с двумя моделями. Я хотел бы создать следующую структуру URL: http://example.com/company/'companyslug'/worker/'workerslug'
В URL выше 'companyslug' и 'workerlug' являются переменными.
Я уже просмотрел множество постов, но не нашел решения для этого.
Основная проблема заключается в том, что, если система генерирует ссылку, значение, оцениваемое оба раза как атрибут модели работника.
Есть ли у вас какие-либо идеи, как я могу создать ссылку, как показано выше?
Большое спасибо!
app1 / models.py
class Company(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=150)
slug = models.SlugField(max_length=150, unique=True)
app2 / models.py
class Worker(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
rel_company_worker = models.ForeignKey('app1.Company', on_delete = models.CASCADE, null=True,related_name='workers')
first_name = models.CharField(,max_length= 50, blank=True )
last_name = models.CharField(,max_length= 50, blank=True )
slug = models.SlugField(max_length=100, null=True)
У меня есть 3 файла URL:
urls.py
urlpatterns = [
path("company/", include('app1.urls')),
]
app1 / urls.py
urlpatterns = [
path('<slug:slug>/worker/',include('app2.urls')),
]
app2 / urls.py
urlpatterns = [
path('<slug:slug>',views.WorkerDetailView.as_view(), name ='worker-detail-view'),
]
app2.views.py
class WorkerDetailView(generic.DetailView):
model = Worker
Если я запускаю код, он генерирует следующую ссылку:
http://example.com/company/**'workerslug'**/worker/**'workerslug'**