Cod*_*tch 32 python django django-models django-admin
好吧,我有一个相当简单的设计.
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')
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法允许用户在一个页面上创建更新?
我想要的是让用户能够进入管理界面,添加新的更新,然后在编辑更新时添加一个或多个帖子,每个帖子都有一个或多个媒体项目.此外,我希望用户能够在更新中重新排序帖子.
我目前的尝试在admin.py中有以下内容:
class MediaInline(admin.StackedInline):
model = Media
class PostAdmin(admin.ModelAdmin):
inlines = [MediaInline,]
Run Code Online (Sandbox Code Playgroud)
这让用户添加一个新的Post项目,选择相关的Update,将Media项目添加到它,然后点击save - 这很好.但是没有办法在一个地方看到属于给定更新的所有帖子,这反过来意味着你不能在更新中浏览帖子.这对最终用户来说真的很混乱.
救命?
Vas*_*sil 17
到目前为止,没有"内置"方法在django.contrib.admin中嵌套内联(内嵌内联).通过拥有自己的ModelAdmin和InlineModelAdmin子类来实现这种功能,可以实现这样的功能.有关如何实现此功能的建议,请参阅此故障单http://code.djangoproject.com/ticket/9025上的修补程序.您还需要提供自己的模板,这些模板将在顶级内联和子内联中进行嵌套迭代.
我已经使用https://github.com/theatlantic/django-nested-admin完成了以下数据结构:
我的admin.py文件:
from django.contrib import admin
import nested_admin
from .models import Contest, Contestant, Judge, Song, Singer
class SongInline(nested_admin.NestedTabularInline):
model = Song
extra = 0
class SingerInline(nested_admin.NestedTabularInline):
model = Singer
extra = 0
class ContestantInline(nested_admin.NestedTabularInline):
model = Contestant
inlines = [SongInline, SingerInline]
extra = 0
class JudgeInline(nested_admin.NestedTabularInline):
model = Judge
extra = 0
class ContestAdmin(nested_admin.NestedModelAdmin):
model = Contest
inlines = [ContestantInline, JudgeInline]
extra = 0
admin.site.register(Contest, ContestAdmin)
Run Code Online (Sandbox Code Playgroud)
https://github.com/theatlantic/django-nested-admin似乎比已经提到的其他应用程序维护得更加积极(https://github.com/BertrandBordage/django-super-inlines和https://github .com/Soaa-/django-nested-inlines )
| 归档时间: |
|
| 查看次数: |
22064 次 |
| 最近记录: |