Задача:
Делаю обучающую программу. Есть сущность — "упражнение". Нужна сущность "курс", которая может включать в себя как упражнения, так и другие курсы. При этом одно и тоже упражение (курс) может входить в несколько курсов.
Вопрос 1:
Какой для этого должна быть структура таблиц и их связи?
Вопрос 2:
Как это реализовать в Python/Django?
Я попробовал сделать так:
class Exercise(models.Model) ...
class Course(models.Model):
exercises = models.ManyToManyField(Exercise)
courses = models.ManyToManyField(Course)
Проблема в том, что Course еще не виден из Course. В C++ например можно использовать указатель на класс внутри создаваемого класса, а как это сделать в Питоне я ума не приложу
Вводить же 3-ю сущность не хочется...
Здравствуйте, Basil2, Вы писали:
B>Задача:
B>Делаю обучающую программу. Есть сущность — "упражнение". Нужна сущность "курс", которая может включать в себя как упражнения, так и другие курсы. При этом одно и тоже упражение (курс) может входить в несколько курсов.
B>Вопрос 1:
B>Какой для этого должна быть структура таблиц и их связи?
B>Вопрос 2:
B>Как это реализовать в Python/Django?
B>Я попробовал сделать так:
B>B>class Exercise(models.Model) ...
B>class Course(models.Model):
B> exercises = models.ManyToManyField(Exercise)
B> courses = models.ManyToManyField(Course)
B>
B>Проблема в том, что Course еще не виден из Course. В C++ например можно использовать указатель на класс внутри создаваемого класса, а как это сделать в Питоне я ума не приложу Вводить же 3-ю сущность не хочется...
В БД двумя таблицами обойтись можно. Одна Course с отношением один ко многим на саму себя, вторая Exercise c внешним ключом на таблицу Course.
Здравствуйте, Basil2, Вы писали:
B>Вопрос 2:
B>Как это реализовать в Python/Django?
Первая ссылка по запросу "django self referential foreign key":
http://stackoverflow.com/questions/15285626/django-self-referential-foreign-key
ИМХО, для этого раздела форума — оффтопик.