Категории в блоге. Как они работают? - PullRequest
3 голосов
/ 23 июля 2011

Я просто не знаю, как создать модель для категорий. У меня есть пользователи, которые могут публиковать сообщения для одной или нескольких групп. Для каждого сообщения будет одна категория, поэтому посетители смогут фильтровать все сообщения для этой категории. Я думал о таких реализациях:

  • Одна таблица для всех категорий, для всех пользователей. У меня в админ-панели будет виджет автозаполнения, который будет проверять доступную категорию, и если нет правильных категорий, пользователь добавит их через значок «плюс» или, возможно, с помощью переопределения метода сохранения, я добавлю новую категорию в базу данных. *
  • Категории - просто CharField в модели. Поэтому я получу все категории с помощью метода split () и каким-то образом выложу его на мою веб-страницу.

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

1 Ответ

4 голосов
/ 23 июля 2011

Создайте модель с именем Category, которая будет содержать все ваши категории, затем создайте отношение ForiegnKey из сообщения в категорию для хранения категории для этого сообщения, а также отношение ManyToMany из UserProfile в категорию для хранения всех категорийопределенный пользователь.

class Category(models.Model):
    name = models.CharField(max_length=30)

class Message(models.Model):
    ...
    category = models.ForeignKey(Category)

class UserProfile(models.Model):
    ...
    categories = models.ManyToManyField(Category)
...