Как реализовать эту модель в Django?

1

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

Изображение 174551

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

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)

Мой вопрос: как добавить таблицу "Позиции" к этой модели?

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

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

Теги:
django-models

1 ответ

3
Лучший ответ

Создайте модель 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)
  • 0
    Большой! Это именно то, что мне нужно! Спасибо за вашу помощь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню