Как реализовать эту модель в Django? - PullRequest
1 голос
/ 14 августа 2011

Я новичок в Django, и у меня возникают некоторые трудности в реализации этой модели в Django:

enter image description here

До сих пор у меня модель работала без таблицы «Позиции» и выглядит так:

from django.db import models
import datetime

class Category(models.Model):
    n_category = models.CharField(max_length=100)

class Directory(models.Model):
    website_name = models.CharField(max_length=200)
    website_url = models.URLField()
    categories = models.ManyToManyField(Category)

У меня вопрос, как я могу добавить таблицу "Позиции" к этой модели?

Пожалуйста, дайте мне подсказку.

С наилучшими пожеланиями.

1 Ответ

3 голосов
/ 14 августа 2011

Создайте модель Position, которая имеет ForeignKeys для Categories и Directory и все другие необходимые данные.А затем используйте аргумент through для ManyToManyField.Это описано в документации Django

Пример (который, если не проверял):

class Position(models.Model):
    website_postiton = models.IntegerField()
    category = models.ForeignKey('Category')
    directory = models.ForeignKey('Directory')

class Category(models.Model):
    n_category = models.CharField(max_length=100)

class Directory(models.Model):
    website_name = models.CharField(max_length=200)
    website_url = models.URLField()
    categories = models.ManyToManyField(Category, through=Position)
...