好的,我正在尝试做一些在我看来很简单的事情,但是我可能缺少一些SQL或Django管理知识。
假设我有一个简单的模型,例如
class Book(models.Model):
title = models.CharField(max_length = 50)
review = models.TextField()
我希望管理站点中的“评论”字段带有一个加号,以将更多评论添加到同一模型实例中,以使模板迭代它们。
我知道我可以为评论创建一个m2m字段,它可以满足我的要求,但我希望可以在同一页面上填充这些多余的评论而不会弹出窗口(对于无助的用户,我想将其保留为WSIWYG尽可能的,因为这些文本字段将由tinyMCE提供支持),我想知道是否真的有必要为文本字段创建一个额外的模型
最佳答案
创建一个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,
]
该文档提供了一个几乎完全符合此情况的示例,除了多位作者而不是多篇评论:
关于django-创建一个模型,让您为同一字段插入多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090047/