我正在尝试在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
,而根本没有使用它。
答案 0 :(得分:0)
我会按照文档。
查看实施情况,Comment
基本上只是在指定CommentAbstractModel
的情况下展开db_table
。
class Comment(CommentAbstractModel):
class Meta(CommentAbstractModel.Meta):
db_table = "django_comments"
我怀疑如果你执行你提到的第二个选项,迁移会引发错误,因为db_table
将被创建两次。