2017-10-18 11 views
0

을 :mongoengine 오류 속성 - 아래 코드에 속성 오류로 실행 파이썬

from mongoengine import * 
import datetime 
from bson import ObjectId 



class Doc_1(EmbeddedDocument): 
    criteria_id = ObjectIdField(default=ObjectId) 
    field_name = StringField() 
    field_value =DynamicField() 
    dominant = BooleanField() 

class Doc_2(Document): 
    created_date = DateTimeField(default=datetime.datetime.now) 
    type = StringField(required=True) 
    state = StringField(required=True) 

d1 = Doc_1() 
d1.field_name = "state" 
d1.field_value = [a, b, c, d, e] 
d1.save() 

d2 = Doc_2() 
d2.type = "Demo" 
d2.state = "c" 
d2.save() 

def field_match(Doc_1, Doc_2): 
    x = Doc_1.field_name 
    y = Doc_1.field_value 
    if Doc_2.x in y: 
     print("Yes") 

field_match(Doc_1, Doc_2) 

AttributeError : 'Doc_2'개체가 어떤 속성을 'X'

어떻게 할 수가 없습니다 mongoengine 함수 내에서 변수를 올바르게 사용합니까?

+1

이 질문은 "함수 내에서 변수 사용"과 관련이 없습니다. –

답변

0

기능이없는 변수 주위에 괄호를 사용한다

나는 당황 조금 있어요 그래서 간단한 답변 ... '.'

def field_match(Doc_1, Doc_2): 
x = Doc_1.field_name 
y = Doc_1.field_value 
if Doc_2[x] in y: 
    print("Yes")