2015-08-24 65 views
0

我試圖用單元測試來測試Django REST API。下面是測試用例代碼:Django ORM - AppRegistryNotReady:模型尚未加載

def test_orders_valid_data(self): 
    try: 
     o1 = md.ECare_Order.objects.create(order_id='aaaaa', created='2015-07-22',grand_total=120) 
     o2 = md.ECare_Order.objects.create(order_id='aaaaa', created='2015-07-10', grand_total=100) 

     o3 = md.ECare_Order.objects.create(order_id='bbbbb', created='2015-06-22', grand_total=90) 
     orders = [o1,o2,o3] 
     om1 = md.ECare_OrderMetric.objects.create(value=1,name='impression_order',order=o1) 
     om2 = md.ECare_OrderMetric.objects.create(value=1,name='impression_order',order=o2) 
     om3 = md.ECare_OrderMetric.objects.create(value=1,name='impression_order',order=o1) 
     om4 = md.ECare_OrderMetric.objects.create(value=1,name='impression_order',order=o3) 
     order_metrics = [om1,om2,om3,om4] 

     for o in orders: 
      o.save() 
     for o in order_metrics: 
      o.save() 

     r = requests.get("http://127.0.0.1:8000/analytics/v1/carters/engagement/order?window_days=30&end_date=08-08-2015") 
     self.assertTrue(json.loads(r.text)['order_emails'],2) 

finally: 

    for o in orders: 
     o.delete() 
    for o in order_metrics: 
     o.delete() 

問題是,當finallyo.delete()執行它引發異常:

Traceback (most recent call last): 
.... 
    File "/home/roman/dev/python/awo100/venv/local/lib/python2.7/site-packages/django/apps/registry.py", line 168, in get_models 
    self.check_models_ready() 
    File "/home/roman/dev/python/awo100/venv/local/lib/python2.7/site-packages/django/apps/registry.py", line 131, in check_models_ready 
    raise AppRegistryNotReady("Models aren't loaded yet.") 
AppRegistryNotReady: Models aren't loaded yet. 

createsave做工精細的所有其他行動,並創建和保存對象。如何解決這個問題呢?

+0

你能顯示完整回溯找到了解決辦法? – Alasdair

回答

0

我已經加入

import django 
django.setup() 
相關問題