2009-08-26 2 views
1

Я использую AEP на Google App Engineкак получать ссылочное свойство в шаблоне Джанго

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 %} 

ответ

0

эта проблема рассматривается в более позднем GAE рамочным Джанго NON-REL так закрою этот вопрос.

1

Там в несколько вещей неправильно с вашим кодом:

  • классов моделей необходимо расширить db.Model
  • Ваши свойства должны быть вызваны конструктором, а не только ссылкой
  • StringProperty не является ссылкой, поэтому «prefetch_reference (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') 
+0

Прошу прощения за быструю проблему, я сделал точно так же, как и вы, но я просто не могу этого достичь Я подробно описал свою проблему – zinking

Смежные вопросы