отношения один ко многим - PullRequest
       11

отношения один ко многим

0 голосов
/ 10 февраля 2010

У меня есть 2 модели, и я хочу, любые экземпляры в классе 1 в классе 2, как я делаю это в моделях django ... и я попытался использовать поле manytomany, но проблема в том, что когда я добавляю новый объект, он будет иметь это многие поля уже есть (чего я не хочу) ... есть идеи, как мне это сделать ...

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Отношение один ко многим - это просто ForeignKey в другом направлении.

0 голосов
/ 10 февраля 2010

Одна из причин, по которой у вас могут возникнуть проблемы, заключается в том, что в реляционных базах данных отношения несколько отстают от того, что есть в объектах. Похоже, вы хотите, чтобы один экземпляр class2 содержал список class1. Для этого вы должны использовать ForeignKey для class1, который ссылается на class2. Если вы не знакомы с реляционными базами данных, может показаться, что class2 должен ссылаться на class1, но в реляционном мире, когда у вас есть один-ко-многим, многие должны ссылаться на один.

Например, скажем, у вас есть структура папок. «Нормальный» способ, которым вы могли бы думать об этом, состоит в том, что у вас есть папка, и в этой папке есть несколько файлов. Но в реляционной базе данных в папке нет списка файлов. На самом деле ничто не может (напрямую) иметь список чего-либо еще. В таком случае каждый файл будет знать идентификатор папки, в которой он находится. Теперь, когда у вас есть папка, и вы хотите найти файлы, которые в ней находятся, вы просто просматриваете все файлы и находите те, которые в них находятся. которые имеют эту папку в качестве контейнера.

...