2014-11-25 2 views
0

아래에서 볼 수 있듯이 클래스 Job이 변수 job에 할당 된 코드 블록 (Django보기 파일의 함수에서 찾을 수 있음)을 읽습니다 (마지막 참조 6 행). 온라인에서 코드를 찾을 수 없습니다.Django보기에서 변수에 클래스 할당

이전에 외부 클래스를 호출하는 방법을 발견하지 못했습니다. 이것이 장고의 변수에 클래스를 할당하는 일반적인 방법입니까?

감사합니다.

def ajax_save_job(request,session): 
    c = {} 
    user_model = session.get_property('user_model') 
    userid = user_model.get_property('UserID') 
    JobID = request.POST.get('JobID',False) 
    collectAddress = request.POST.get('collectAddress',False) 
    collectContactNumber = request.POST.get('collectContactNumber',False) 
    collectContactName = request.POST.get('collectContactName',False) 
    deliverAddress = request.POST.get('deliverAddress',False) 
    deliverContactNumber = request.POST.get('deliverContactNumber',False) 
    deliverContactName = request.POST.get('deliverContactName',False) 
    collectCompanyName = request.POST.get('collectCompanyName',False) 
    deliverCompanyName = request.POST.get('deliverCompanyName',False) 
    price = request.POST.get('price',False) 
    parcelWeight = request.POST.get('parcelWeight',False) 
    parcelSize = request.POST.get('parcelSize',False) 
    collectDate = request.POST.get('collectDate',False) 
    collectTimeFrom = request.POST.get('collectTimeFrom',False) 
    collectTimeEnd = request.POST.get('collectTimeEnd',False) 
    deliverDate = request.POST.get('deliverDate',False) 
    deliverTimeFrom = request.POST.get('deliverTimeFrom',False) 
    deliverTimeEnd = request.POST.get('deliverTimeEnd',False) 
    rearrangementStatus = request.POST.get('rearrangementStatus',False) 
    rearrangementMaxLimit = request.POST.get('rearrangementMaxLimit',False) 
    RearrangementExpiry = request.POST.get('RearrangementExpiry',False) 
    parcelDescription = request.POST.get('parcelDescription',False) 
    collectedon = request.POST.get('collectedon',False) 
    deliveredon = request.POST.get('deliveredon',False) 
    collectPostal = request.POST.get('collectPostal',False) 
    deliverPostal = request.POST.get('deliverPostal',False) 
    assignedTo = request.POST.get('assignedTo',False) 
    status = request.POST.get('status',False) 
    job = False 
    output = {} 
    try: 
     job = Job.init(JobID,index="JobID",multiple=False) 
     if (job.properties['status'].lower() == 'processing' or job.properties['status'].lower() == 'bidding') and assignedTo != job.properties['assignedTo'] : 
      status ='Assigned' 
    except: 
     job = False 

클래스 작업 (베이스) :

table = 'tbl_jobs' 
index = 'JobID' 

def __init__(self,**kwargs): 
    Base.__init__(self) 
    self.keys = ['JobID'] 
    self.required_property_list = ['postByUserID','price'] 
    self.unique_properties = [] 
    self.db_fields = ['paypalToken','JobID','postByUserID','jobName','parcelDescription','parcelSize','parcelWeight','declaredValue','collectDate','collectTimeFrom','collectTimeEnd','collectContactName','collectContactNumber','collectPostal','collectAddress','collectRegion','collectLatitude','collectLongitude','deliverDate','deliverTimeFrom','deliverTimeEnd','deliverContactName','deliverContactNumber','deliverPostal','deliverAddress','deliverRegion','deliverLatitude','deliverLongitude','biddingTime','biddingTimeEnd','price','postedOn','assignedTo','posted_by','PAID','jobType','status','paymentMethod','collectCompanyName','deliverCompanyName','collectSelfRefName','deliverSelfRefName','collectContactEmail','deliverContactEmail'] 

    if len(kwargs) == 0: 
     return 

    for key in kwargs:  
     self.properties[key] = kwargs[key] 

    missing_properties = self.required_properies() 
    if len(missing_properties) > 0: 
     raise UserModelPropertyMissingException('Required Property Missing',missing_properties) 

답변

0

그것은 나에게 보이는 - 그리고 이것은 단지 추측입니다 - 여기에서 일어나고있는 것은 당신이 작업의 인스턴스를 생성하고 있다는처럼 주어진 ID로 "multiple = False"라고 말하면, 이미 존재한다면, 새로운 하나가 아닌 기존의 것을 원한다는 뜻입니다. get-or-create 플래그의 일종입니다. 그런 다음 작업 상태를 사용하여 현재 수행중인 작업의 상태를 업데이트 할 수 있습니다.

분명히 더 많은 것을 할 필요는 없습니다. 이것은 어둠 속에서 단지 찌르는 것입니다.

+0

설명해 주셔서 감사합니다. 나는 클래스 작업 코드에도 추가했다. – codemax