/ / Django моделиране - използване на правилните отношения - python, django, postgresql

Django моделиране - използвайки правилните връзки - python, django, postgresql

Искам модел "Модел" да има набор (нула или повече) от "Атрибут". Трябва да има достъп до тези "атрибути". Единичен "Атрибут" има точно ЕДИН "Модел".

"Модел" има нула или повече "Обекти". Трябва да има достъп до тези "Обекти". Единичен "Обект" има точно ЕДИН "Модел". "Обект" ще наследи всички "Атрибути" от неговия "Модел".

Не съм сигурен как да създам тези модели в Django.

Ето какво имам досега:

class Model(models.Model):
#

class Attribute(models.Model):
model = models.ForeignKey(Model)

class Object(models.Model):
model = models.ForeignKey(Model)

UPDATE

Когато се опитам да направя обект "Обект", получавам тази грешка:

column myproject_object.model_id does not exist

По същия начин, ако се опитам да направя обект "Модел". Получавам тази грешка:

null value in column "attributes_id" violates not-null constraint

Отговори:

0 за отговор № 1

Тази връзка се нарича Много-към-много отношения и Джанго е внедрил в своята ORM.

 class Child(models.Model):
# [...]

class Parent(models.Model):
children = models.ManyToManyField(Model)

Можете да получите достъп по този начин

 parent = Parent()
parent.save()
parent.children.all()

Django автоматично създава връзката в базата данни, силно ви препоръчвам да четете Django документация за много-към-много връзка.