好的我正在尝试做一些在我脑海中应该非常简单的事情,但我可能缺少一些SQL或django管理员知识来实现它。 说我有一个简单的模型,如
class Book(models.Model):
title = models.CharField(max_length = 50)
review = models.TextField()
我希望管理网站中的“审核”字段有一个加号,可以为同一模型实例添加更多评论,以便模板迭代它们。
我知道我可以为评论创建一个m2m字段,它会给我这个,但我宁愿这些额外的评论可以在没有弹出窗口的同一页面填充(对于我想保留的无助用户)它作为WSIWYG尽可能,因为那些文本字段将是tinyMCE驱动的),我想知道是否真的有必要为文本字段创建一个额外的模型
答案 0 :(得分:11)
创建一个Review
模型,其中包含评论文字,并ForeignKey
到Book
...
class Book(models.Model):
title = models.CharField()
class Review(models.Model):
book = models.ForeignKey(Book, related_name='reviews')
review = models.TextField()
...然后注册相应类型的InlineModelAdmin
以编辑管理员手册页面上的所有相关评论。我建议在这种情况下使用StackedInline
:
class ReviewInline(admin.StackedInline):
model = Review
class BookAdmin(admin.ModelAdmin):
inlines = [
ReviewInline,
]
文档中有一个几乎就是这种情况的例子,除了多个作者而不是多个评论: