Как создать идентифицирующие и неидентифицирующие отношения в Django
Пожалуйста, кто-нибудь может научить меня, как создать идентифицирующие и неидентифицирующие отношения в Django, похожее изображение для справки. Спасибо.
Изображение для справки.
https://i.stack.imgur.com/ai8HP.jpg
Я полагаю, что ForeignKey
- это то, что вы ищете как "идентифицирующую связь". Тогда
# models.py
from django.db import models
class District(models.Model):
# django will automatically create id field
# nombre = models.SOMEFIELD()
pass
class Headquarter(models.Model):
district = models.ForeignKey(District, on_delete=models.CASCADE)
# nombre = models.SOMEFIELD()
# activo = models.SOMEFIELD()
class Building(models.Model):
# This "district" field looks pointless, as we can simply
# follow relation like a_building.headquarter.district
district = models.ForeignKey(District, on_delete=models.CASCADE)
headquarter = models.ForeignKey(Headquarter, on_delete=models.CASCADE)
# nombre = models.SOMEFIELD()
Я полагаю, что схема достаточно очевидна для вас, и оставляю Department
на ваше усмотрение.
Я понятия не имею, что вы имеете в виду под "неидентифицирующими отношениями". Возможно, вы захотите предоставить детали реализации, чтобы я мог оказать большую помощь.
PS: Django хорошо документирован. Вы можете найти там большинство возможностей Django.
PS 2: Пожалуйста, следуйте @Frankline и перепишите свой вопрос. Добро пожаловать на Stack Overflow.