一尘不染

在Django管理员中嵌套内联?

django

好吧,我的设计很简单。

class Update(models.Model):
    pub_date = models.DateField()
    title = models.CharField(max_length=512)

class Post(models.Model):
    update = models.ForeignKey(Update)
    body = models.TextField()
    order = models.PositiveIntegerField(blank=True)

class Media(models.Model):
    post = models.ForeignKey(Post)
    thumb = models.ImageField(upload_to='frontpage')
    fullImagePath = models.ImageField(upload_to='frontpage')

是否有一种简单的方法允许用户在一页上全部创建更新?

我想要的是用户能够转到管理界面,添加新的更新,然后在编辑更新时添加一个或多个帖子,每个帖子都有一个或多个Media项目。另外,我希望用户能够在更新内重新排列帖子。

我当前的尝试在admin.py中包含以下内容:

class MediaInline(admin.StackedInline):
    model = Media

class PostAdmin(admin.ModelAdmin):
    inlines = [MediaInline,]

这使用户可以添加一个新的Post项,选择相关的Update,向其添加Media项,然后单击Save-很好。但是无法在同一位置查看属于给定更新的所有帖子,这又意味着您不能在更新内进行帖子发布。对于最终用户而言,这确实很令人困惑。


阅读 477

收藏
2020-03-27

共1个答案