2016-08-11 6 views
0

django_commentモデルに新しいフィールドを追加しようとしています。文書によると、ほとんどのカスタムコメントモデルはCommentAbstractModelモデルサブクラス化されます:私は、マイグレーションを発生させる場合django_commentsモデルに新しいフィールドを追加する

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を参照して一つのフィールドでの移行を生成する:

別のアプローチは、テーブルをこのように生成することです。

質問:どのアプローチが良いですか? 1つのテーブルにすべてのフィールドがあるので、最初のモデルは良いと思います。しかし、これは全く使用されていないdjango_modelを生成します。

答えて

0

私はドキュメントに従います。

実装を見ると、Commentは、基本的にはCommentAbstractModelで、db_tableが指定されています。

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

私はあなたが言及した2番目のオプションを行う場合db_tableは二回作成されますので、移行がエラーをスローすることを疑っています。

関連する問題