代码之家  ›  专栏  ›  技术社区  ›  aaronasterling

在Django Admin主模型之前保存StackedLine外键模型

  •  0
  • aaronasterling  · 技术社区  · 14 年前

    我有四个关系模型

    Model PagetTemplate(models.Model):
        pass
    
    Model TextKey(models.Model):
        page_template = models.ForeignKey(PageTemplate, related_name='text_keys')
    
    
    Model Page(models.Model):
        page_template = models.ForeignKey(Pagetemplate, related_name='pages')
    
    Model Text(models.Model):
        key = models.ForeignKey(TextKey, related_name='text_fields')
        page = models.ForeignKey(Page, related_name='text_fields')
    

    关系如下:

                                PageTemplate
                                    /\
                                   /  \
                                  /    \
                           TextKey      Page
                                  \    /
                                   \  /
                                    \/
                                   Text
    

    在验证页中(在 clean [text_field.key for text_field in page.text_fields] 匹配以便所有文本键都填充到我的a文本中。我现在的问题是 清洁的 被称为, page.text_fields 是空的。管理代码看起来像。

    class TextInline(admin.StackedInline):
        model = Text
        extra = 0
    
    class PageAdmin(DebugModelAdmin):
        inlines = [TextInline]
    
    admin.site.register(Page, PageAdmin)
    

    我包起来了 admin.ModelAdmin 在一个日志类,知道我有我需要的信息时 ModelAdmin.add_view

    1 回复  |  直到 14 年前
        1
  •  0
  •   aaronasterling    14 年前

    看着S.Lott关于django相关线程的睿智建议,我决定自己编写一个应用程序来完成这个任务,而不是强迫django管理员去做一些不该做的事情。老实说,我只想为django下载一个像样的CMS,但是那些我能找到的要么差劲(他们的代码充满了打字检查、缩进了标签等等),要么不适用于1.2,所以我自己滚动。