Как связать модель Django из связанной таблицы с другой моделью записи? - PullRequest
0 голосов
/ 10 ноября 2010

У меня есть каталог курсов, и я пытаюсь включить предварительные требования.Курс имеет от 0 до n предварительных требований, и курс может быть предварительным требованием для 0 - n курсов.Класс курса выглядит следующим образом

class Course(models.Model):
    class Meta:
    ordering = ['course_code', 'title']    
    course_id = models.AutoField(primary_key=True)
    course_code = models.SlugField(max_length=20, null=False, blank=False)
    ....
    ....

class Pre_requisit(models.Model)
    course = models.ForeignKey(Course, course_id')
    pre_req = ???????

Я пробовал поле pre_req как ForeginKey и MamyToManyField, но не могу найти решение.Django не позволит 2 иностранным ключам из класса Pre_requisit в класс Course.С полем ManyToMany evn через другую таблицу я все еще получаю ошибки.

Может кто-нибудь дать мне знать, как добиться этого отношения.Я хочу убедиться, что предварительный курс существует, и могу ссылаться на него, чтобы его можно было отобразить.

Большое спасибо.

1 Ответ

0 голосов
/ 10 ноября 2010
class Course(models.Model):
    ....
    pre_req = models.ManyToManyField("self")

подробнее на http://docs.djangoproject.com/en/dev/ref/models/fields/#manytomanyfield

Если вы хотите сохранить дополнительную информацию, вы также можете указать "сквозную" таблицу (информация на http://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany), например, жесткие предварительные условиярекомендуется и т. д.

...