2016-12-12 4 views
1

나는 객체 위젯을 사용하여 객체 속성을 표시하고 있습니다. 내 위젯 직렬화 방법에서 내 cstruct가 올바른지 볼 수문자열 참조에서 파이썬 객체를 가져 오는 방법

serialization cstruct: [<abc.modules.core.models.Assessment object at 0x105583320>] 

이 jinja2의 템플리트 오브제의 속성 예를 들어 'created_at'결과가 내 표시하려고 할 때 :

jinja2.exceptions.UndefinedError: 'str object' has no attribute 'created_at' 

무엇을 할 수 나는 Assessment 객체를 Jinja2 내에서 객체가 아닌 문자열로 간주해야합니까? 나는 그것이 매우 간단하다고 믿지만 여전히 무엇이 잘못되었는지를 알 수 없다. 도와주세요.

좀더 번호 : 스키마 노드 :

class SubcontractorAssessmentSchema(MappingSchema): 
    """ **Schema definition for ``Subcontractor Assessment`` part.** """ 
    readonly = True 
    assessments = SchemaNode(String(), widget=LastResultsWidget2(), 
          title='Assessment:', missing='') 

[...]

위젯 :

class LastResultsWidget2(SelectWidget): 
    """ **Widget for Last Results.** """ 
    template = 'last_results' 
    readonly_template = 'last_results' 
    strip = True 

    def serialize(self, field, cstruct, **kw): 
     """ 
     Overwritten default serialize of SelectWidget. 

     :param field: Field 
     :param cstruct: Value of Widget 
     :param kw: Additional arguments. 
     :return: rendered field. 
     """ 
     if cstruct in (colander.null, None): 
      cstruct = self.null_value 
#  print ('serialization cstruct: ' +str(cstruct)) 
     return field.renderer(self.template, field=field, cstruct=cstruct) 
+0

'직렬화 - 개체 보내기. 그리고 코드를 보여주십시오. – furas

+0

내가 알고있는 한, 그것이 델파이 위젯에서 작동하는 방식입니다. 위젯을 사용하여 직렬화를 피할 수는 없습니다. – Piotr

+0

이 변형은 0.9입니까? 전체 추적 및 Jinja 2 템플릿의 오류를 명확히 할 수 있습니까? –

답변

0

그것은이 특정 Colader 버전 withi 오류가 있었다. 위젯이 싱글 톤 (singleton-like)처럼 행동하게 만들었습니다. 모든 힌트를 주셔서 감사합니다!