2015-01-13 6 views
7

में मॉडल प्राप्त वस्तु को क्रियान्वित प्रारूप स्ट्रिंग से मेल नहीं खाता मैं बहुत तरह Django में एक मॉडल वस्तु है ...ORA-01,861: शाब्दिक जब Django

from django.db import models 

class Person(models.Model): 
    employee_title = models.CharField(max_length=150) 
    pk_person_id = models.IntegerField(primary_key=True) 
    department_name = models.CharField(max_length=240) 
    cost_center = models.CharField(max_length=150) 
    user_name = models.CharField(max_length=100) 

def __str__(self): 
    return self.user_name 

class Meta: 
    managed = False 
    db_table = 'company_hr_idm_data_v' 

और मेरे विचार में मैं पर मिल एक सरल कर रहा हूँ इसलिए जैसे व्यक्ति वस्तु ...

testobj = Person.objects.using('oracle').get(pk=4) 

एक DatabaseError कि कहते हैं

ORA-01,861 के साथ कोड त्रुटियों आउट: शाब्दिक करता है प्रारूप स्ट्रिंग

से मेल नहीं यहाँ जब मैं अपने डिबग मोड मेरी settings.py

Environment: 


Request Method: GET 
Request URL: http://127.0.0.1:8000/roles/testing 

Django Version: 1.7.2 
Python Version: 2.7.6 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'roles') 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware') 


Traceback: 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/entitlements/roles/views/Organization.py" in test 
    9.  testobj = Person.objects.using('oracle').get(pk=4) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site- packages/django/db/models/query.py" in get 
    351.   num = len(clone) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/models/query.py" in __len__ 
    122.   self._fetch_all() 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/models/query.py" in _fetch_all 
    966.    self._result_cache = list(self.iterator()) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/models/query.py" in iterator 
    265.   for row in compiler.results_iter(): 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in results_iter 
    700.   for rows in self.execute_sql(MULTI): 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 
    786.    cursor.execute(sql, params) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/backends/utils.py" in execute 
    81.    return super(CursorDebugWrapper, self).execute(sql, params) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/backends/utils.py" in execute 
    65.     return self.cursor.execute(sql, params) 
    File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/utils.py"  in __exit__ 
    94.     six.reraise(dj_exc_type, dj_exc_value, traceback) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-packages/django/db/backends/utils.py"  in execute 
65.     return self.cursor.execute(sql, params) 
File "/Users/adjeibad/.virtualenvs/wwtmlserver/lib/python2.7/site-     packages/django/db/backends/oracle/base.py" in execute 
    916.    return self.cursor.execute(query, self._param_generator(params)) 

Exception Type: DatabaseError at /roles/testing 
Exception Value: ORA-01861: literal does not match format string 

ओह में सही पर सेट है ढेर मैं ट्रेस कोड है! यहां प्रश्न यह है कि उत्पन्न होता है ...

SELECT * FROM (SELECT ROWNUM AS "_RN", "_SUB".* FROM (SELECT "COMPANY_HR_IDM_DATA_V"."EMPLOYEE_TITLE", "COMPANY_HR_IDM_DATA_V"."PK_PERSON_ID", "COMPANY_HR_IDM_DATA_V"."DEPARTMENT_NAME", "COMPANY_HR_IDM_DATA_V"."COST_CENTER", "COMPANY_HR_IDM_DATA_V"."USER_NAME" FROM "COMPANY_HR_IDM_DATA_V" WHERE "COMPANY_HR_IDM_DATA_V"."PK_PERSON_ID" = :arg0) "_SUB" WHERE ROWNUM <= 21) WHERE "_RN" > 0 

मैं के रूप में मैं कर सकता, किसी को भी सही दिशा में मुझे चलाने कृपया कर सकते हैं के रूप में ज्यादा जानकारी डालने की कोशिश की है?

+0

क्या ऐसा कोई बयान होने की आवश्यकता है जिसे ऑब्जेक्ट के मेरे पुनर्प्राप्ति से पहले निष्पादित करने की आवश्यकता हो? टिकट कहते हैं कि तारीखों के साथ काम करते समय उन्हें समस्या का सामना करना पड़ा। मैं तारीख की जानकारी तक नहीं पहुंच रहा हूं। मुझे पता है कि डीजेंगो उन दो प्रश्नों को चलाता है जिन्हें वे ऐप शुरू करते हैं। – Dennis

+1

आप सही हैं, ऐसा लगता है कि टिकट वास्तव में संबंधित नहीं है। मैंने भावी भ्रम को रोकने के लिए उस टिप्पणी को हटा दिया है, हालांकि [यह संभव है कि यह Django में एक बग है] (https://docs.djangoproject.com/en/1.7/internals/contributing/bugs-and-features/#reporting- कीड़े)। –

+0

यह हो सकता है कि डीबी में तालिका पहले से बनाई गई थी और मॉडल सिंक द्वारा नहीं – DevC

उत्तर

0

क्या आप इनपुट देकर सीधे क्वेरी निष्पादित करने का प्रयास कर सकते हैं? इनपुट और वास्तविक कॉलम प्रकार के बीच डेटाटाइप अंतर हो सकता है।

संबंधित मुद्दे