当前位置: 首页 > 面试题库 >

在Django管理员中嵌套内联?

岳安福
2023-03-14
问题内容

好吧,我的设计很简单。

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 admin内联,可以将date字段内联包含在另一个内联中,如下所示。 我有以下模型: 和下面的管理员: 但是我需要将Training_Date模型作为内联包含在内,这是证书管理内联的一部分。 任何想法 ? 问题答案: AFAIK,默认Django管理员中不能包含第二级内联。 Django admin只是一个普通的Django应用程序,因此没有什么可以阻止您

  • 问题内容: 我在Django管理员方面遇到一些问题。 在syncdb之后,结果是: 这是什么意思? 无论如何,当我访问网站管理面板http://www.example.com/admin/时,我收到以下消息: setting.py包含: ur.py包含: 问题答案: 如果你仅从项目中运行一个站点,则实际上并不需要该框架,因此最简单的解决方法是从你的项目中删除以下项目,错误应消失: 你也可以从she

  • 主要内容:启动管理界面Django为管理活动提供随时可以使用的用户界面。 我们都知道,管理界面对于一个Web项目是十分重要的。 Django根据您的项目模型自动生成管理界面。 启动管理界面 管理界面依赖于 django.contrib 模块。若需它工作,需要确保一些模块是否导入在 myproject/settings.py 文件中的INSTALLED_APPS和MIDDLEWARE_CLASSES元组。 对于 INST

  • 问题内容: 我正在使用Django 1.4,并且想要设置比较不同内联值的验证规则。 我有三个简单的课程 在models.py中: 在admin.py中: 因此,例如可以以10美元的价格购买一瓶朗姆酒和以8美元的价格购买一瓶伏特加酒。迈克支付15美元,汤姆支付3美元。 目的是防止用户以不匹配的金额保存实例:已支付的金额必须与商品费用的金额相同(即10 + 8 = 15 + 3)。 我试过了: 在Sh

  • 问题内容: 删除了对ModelAdmin方法上allow_tags属性的支持。 问题答案: 刚找到答案,使用功能。 在旧代码中,您可以使用: 在新代码中,应使用:

  • 问题内容: 在Django管理员中,我想覆盖并实现自己的模型形式(例如发票模型)。 我希望发票表单具有用于客户名称,产品名称的自动填写字段,并且我还想进行自定义验证(例如客户的信用额度)。如何覆盖Django管理员提供的默认格式并实现自己的默认格式? 问题答案: 如何根据docs在django admin中覆盖表单: