django_comments在模型中添加新字段

时间:2016-08-11 19:07:26

标签: django django-comments

我正在尝试在django_comment模型中添加新字段。根据文档,大多数自定义注释模型将子类化CommentAbstractModel模型:

from django.db import models
from django_comments.models import CommentAbstractModel

class CommentWithTitle(CommentAbstractModel):
   title = models.CharField(max_length=300)

如果我生成迁移,则会将所有字段添加到迁移中(评论模型和标题字段中的所有字段)。

运行迁移后,会创建CommentWithTitle表和django_comments表。但django_comments将毫无用处(未使用)。

另一种方法是以这种方式生成表:

from django_comments.models import Comment

class CommentWithTitle(Comment):
    title = models.CharField(max_length=300)

它只使用comment_ptr的引用生成一个字段的迁移。

我的问题是:哪种方法更好?我认为第一个模型很好,因为它在一个表中包含所有字段。但是这会生成django_model,而根本没有使用它。

1 个答案:

答案 0 :(得分:0)

我会按照文档。

查看实施情况,Comment基本上只是在指定CommentAbstractModel的情况下展开db_table

class Comment(CommentAbstractModel):
    class Meta(CommentAbstractModel.Meta):
        db_table = "django_comments"

我怀疑如果你执行你提到的第二个选项,迁移会引发错误,因为db_table将被创建两次。