首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >姜戈formfield_for_foreignkey

姜戈formfield_for_foreignkey
EN

Stack Overflow用户
提问于 2014-10-29 22:03:37
回答 1查看 1.4K关注 0票数 0

我试图在文档后面的外键字段中筛选我的管理选项。

我的模型很简单:

代码语言:javascript
复制
class Page(models.Model):
    title = models.CharField(max_length=50, null=False, blank=False, default="Title")
    layout = models.ForeignKey(Layout, null=False) #This sets the layout for the current page

为了达到这个目标,我应该做如下的事情:

代码语言:javascript
复制
class PageAdmin(admin.ModelAdmin):

    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "layout":
            kwargs["queryset"] = Template.objects.get_a_queryset()
        return super(PageAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

它正在工作,但每次我访问页面时,它都要遍历函数3次,总共提供5次查询(默认情况下,3次加2次)。它是相同db_field的3倍。

如何将其简化为一个查询?这是一种有意的行为,如果是so...why呢?

EN

回答 1

Stack Overflow用户

发布于 2014-10-30 09:21:48

我不太清楚这是怎么回事,但我有两个工具可以指出你的方向:

  1. IPython嵌入 从IPython导入嵌入..。很多密码..。嵌入()

运行dev服务器的shell将进入IPython,在那里嵌入(),以便您可以探索堆栈

  1. 回溯模块 进口追踪..。很多密码..。traceback.print_stack()

这将打印出堆栈,以便区分3次调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26641465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档