Структура базы данных Django. Как справиться с пулями двух разных моделей, как это делает Facebook? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть проект, который публикует предложения о работе, соискатель может создать профиль на веб-сайте, и его страница профиля будет иметь URL-адрес, например: www.domain_name.com/slug

Предложения организации, публикующие вакансии, также могут создать учетную запись. Человек, фактически создающий учетную запись учреждения, будет считаться администратором страницы учреждения, поэтому он будет иметь учетную запись (* экземпляр UserProfile () и может добавлять других участников ( пользователей на платформе, не затрагиваемых какими-либо учреждениями).) к этому учреждению URL профиля учреждения будет www.domain_name.com/institution_slug

Члены будут иметь свой собственный экземпляр UserProfile, связанный с этим учреждением, и после подключения будут видны только данные / функции страницы учреждения, онибудет работать как учреждение.

Итак Каков наилучший способ иметь эти две модели и правильно обрабатывать шаблон URL? как

urls.py

path("<slug:slug>",profile,name='profile')

views.py

def profile(request,slug):
    user = UserProfile.objects.get(slug=slug) #get_object_or_404
    inst = Institution.objects.get(slug=slug) #get_object_or_404

В приведенном выше примере я не хочу иметьзапросить дважды в двух разных моделях.Есть ли другой способ сделать это?Или Если мне нужно изменить структуру базы данных, дайте мне знать!

models.py

UserProfile(models):
   # info_about_user
   sug = models.SlugField()
   institution = models.ForeignKey(Institution)

Institution(models.Model):
   # info_about_instituion
   slug = models.SlugField()

Обратите внимание, что оба могут публиковать предложения о работе:

Job(models.Model)
    owner = UserProfile or Institution
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...