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

如何在django模板中获取引用属性

  •  1
  • zinking  · 技术社区  · 15 年前

    我在谷歌应用程序引擎上使用aep

    class Link():
         bag  = db.Referencepropery(Bag) #bag have name, id and other property
         name = db.Stringpropery
    
    
    object_query = Link.all();
    p = paginator( object_query)
    object_list = p.page(1);
    prefetch_references( object_list.object_list, 'bag')
    
    render_to_response(...,{'object_list':object_list.object_list},...)
    
    
    #template
    {% for object in object_list%}
     {{object.bag.id}} <!--failed to get any value, why???/-->
    {% end %}
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Nick Johnson    15 年前

    您的代码有几处错误:

    • 您的模型类需要扩展db.model
    • 属性需要调用构造函数,而不仅仅是引用它
    • StringProperty不是引用,因此“prefetch_引用(objectlist,'name')”没有任何意义。

    这里有一个更有意义的例子:

    class Link(db.Model):
         bag = db.ReferenceProperty(Bag) #bag have name, id and other property
         name = db.StringPropery()
    
    def view():
         objectlist = get_object_list(.....)
         prefetch_reference(objectlist,'name')
    
        2
  •  0
  •   zinking    12 年前

    这个问题将在稍后的GAE django框架NON-REL中解决 所以我要结束这个问题。