Вопрос о том, как настроить отношения с базой данных (новичок, это может быть тривиально)
Следовал учебнику по Джанго (Опрос, Выборы); Понятно, что 1 опрос имеет много вариантов, поэтому многие варианты указывают на один опрос.
class Poll(models.Model):
question = models.CharField(max_length=200)
...
class Choice(models.Model):
poll = models.ForeignKey(Poll)
...
Вопрос:
У меня есть база данных с местами, персонами и т. Д. (Несколько таблиц).
Подмножество моих таблиц имеет аналогичное поле.
Я хочу, чтобы у места было 1+ номер телефона (ов).
Я хочу, чтобы у человека было 1+ номер телефона (ов).
Я могу хотеть, чтобы другие таблицы имели 1+ номер телефона (ов).
Если я следовал подходу Опрос / Выбор, то моя проблема обозначена вопросительными знаками, показанными ниже под PhoneNumber.
class Person(models.Model):
firstname = models.CharField(max_length=20)
...
class Place(models.Model):
description = models.CharField(max_length=200)
...
class PhoneNumber(models.Model):
??? = models.ForeignKey(???)
...
Я подумал об использовании наследования, чтобы и Person, и Place наследовали из одного и того же базового класса. Но у меня могут быть и другие поля, кроме phone_number, для которых у меня похожая ситуация и которые охватывают другое подмножество таблиц. Э.Г.
phone_number(s) comments
--------------- --------
Person yes no
Place yes yes
Contract no yes
...
Буду очень признателен за любой совет о том, как правильно спроектировать эти типы отношений. Спасибо.