Я использую django-mptt в качестве утилиты для классификации моих статей. Моя модель настроена следующим образом:
class Genre(MPTTModel):
name = models.CharField(max_length=100, unique=True)
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
class Article(models.Model):
url = models.URLField(max_length=300)
text = models.TextField()
title = models.CharField(max_length=500, blank=True)
Теперь мой вопрос: если у меня есть, например, следующая иерархия: «Политика> Выборы> SomeCountry», и у меня есть статья с категорией «SomeCountry», я должен добавить в поле Article
модель ForeignKey
:
category = models.ForeignKey('Genre', blank=True, null=True, on_delete=models.CASCADE)
И поэтому мне нужно установить значение поля category
статьи как SomeCountry.
Или я должен добавить ManyToManyField
к модели Article
:
category = models.ManyToManyField('Genre', blank=True)
И, таким образом, я должен установить значение для поля категории статьи как ['Politic', 'Election', 'SomeCountry']
.