在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-很好。但是无法在同一位置查看属于给定更新的所有帖子,这又意味着您不能在更新内进行帖子发布。对于最终用户而言,这确实很令人困惑。
回答:
到目前为止,在django.contrib.admin中还没有“内置”方式来嵌套嵌套的内联(内联在内联内)。通过拥有自己的ModelAdmin和InlineModelAdmin子类来启用这种功能,可以完成类似的事情。请参阅此故障单上的补丁http://code.djangoproject.com/ticket/9025,以获取有关如何实现此故障的想法。您还需要提供自己的模板,这些模板将在顶级内联和子内联上嵌套嵌套迭代。
以上是 在Django管理员中嵌套内联? 的全部内容, 来源链接: utcz.com/qa/416172.html