MBr*_*zle 12 python django inheritance django-admin
我有一个Django模型布局,看起来像这样:
class Author(models.Model):
name = models.CharField(max_length=50, unique=True)
class Publication(models.Model):
author = models.ForeignKey(Author)
#Some shared fields
class Meta:
abstract = True
class Book(Publication):
#Book specific fields
class Poem(Publication):
#Poem specific fields
Run Code Online (Sandbox Code Playgroud)
一般来说,我想显示作者列出的信息,并按一些信息排序,如pub_date,以便最终用户看到如下内容:
作者A:
作者B:
等等.我可以弄清楚如何在前端显示这些(我可以使用django-polymorphic或简单地将author.book_set.all()和author.poem_set.all()组合成一个列表并排序).但我无法弄清楚如何在管理站点中实现这一点.我希望结构与上面完全相同 - 这样当我点击作者A时我会得到:
如果我只是简单地将诗歌和书籍作为TabularInlines附加,它们将被分隔成单独的字段集,如下所示:
内容为诗3
内联第1册
但是我觉得它们在一个字段集中混合在一起的功能非常重要(其他子类的特定字段要么变灰,要么不存在于每个内联中).有谁知道如何实现这个?
嗯,似乎没有一种简单的方法可以做到这一点,所以我钻研了django.contrib并构建了一个应用程序来处理这个:Django Merged Inlines.如果它对任何人都有用,可以在这里找到:
https://github.com/MattBroach/Django-Merged-Inlines
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |