好吧,我有一个相当简单的设计。
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')
是否有一种简单的方法允许用户在一个页面上创建所有更新?
What I want是为了让用户能够转到管理界面,添加新的更新,然后在编辑更新时添加一个或多个帖子,每个帖子都有一个或多个媒体项目。此外,我希望用户能够在更新中对帖子重新排序。
我当前的尝试在 admin.py 中有以下内容:
class MediaInline(admin.StackedInline):
model = Media
class PostAdmin(admin.ModelAdmin):
inlines = [MediaInline,]
这让用户添加一个新的帖子项目,选择相关的更新,向其中添加媒体项目,然后点击保存 - 这很好。但是,无法在一个位置查看属于给定更新的所有帖子,这又意味着您无法在更新中对帖子进行排序。对于最终用户来说这确实很令人困惑。
Help?
截至目前,django.contrib.admin 中还没有“内置”方式来嵌套内联(内联内联)。通过拥有自己的 ModelAdmin 和 InlineModelAdmin 子类来实现此类功能是可能的。请参阅此票证上的补丁http://code.djangoproject.com/ticket/9025 http://code.djangoproject.com/ticket/9025了解如何实现这一点的想法。您还需要提供自己的模板,该模板将在顶级内联及其子内联上进行嵌套迭代。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)