博客中的分类。他们是如何工作的?

时间:2011-07-23 17:56:39

标签: django django-models django-admin

我只是不知道如何为类别创建模型。我有一些用户可以发布一个或多个组的消息。每条消息都会有一个类别,因此访问者可以过滤此类别的所有消息。我想到了这样的认识:

  • 适用于所有用户的所有类别的一个表格。我将在管理面板自动完成小部件中检查可用类别,如果没有正确的类别,用户将通过“加”图标添加它们,或者,通过重新定义保存方法,我将向数据库添加新类别。
  • 类别 - 只是模型中的CharField。因此,我将通过split()方法获取所有类别,并以某种方式将其放在我的网页上。

也许还有其他方法可以为消息创建类别?可以为不同用户分类的东西。

1 个答案:

答案 0 :(得分:4)

创建一个名为Category的模型,它将保存您的所有类别,然后创建一个ForiegnKey关系,从Message到Category来保存该消息的类别,以及从UserProfile到Category的ManyToMany关系来保存所有类别某个用户的类别。

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)