2009-11-04 14 views
5

'dan geçer. İlginçtir ki, kabukta da çalışır. Eğer işlemleri kullanan bir kod test etmek istersenizDjango Testleri, InternalError ile başarısız: böyle bir kaydetme noktası yok. DB: Postgres, mysql

[MY code which calls Model.objects.get_or_create(...)] 
    File "/usr/lib/python2.5/site-packages/django/db/models/manager.py", line 123, in get_or_create 
    return self.get_query_set().get_or_create(**kwargs) 
    File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 308, in get_or_create 
    transaction.savepoint_rollback(sid) 
    File "/usr/lib/python2.5/site-packages/django/db/transaction.py", line 199, in savepoint_rollback 
    connection._savepoint_rollback(sid) 
    File "/usr/lib/python2.5/site-packages/django/db/backends/__init__.py", line 67, in _savepoint_rollback 
    self.cursor().execute(self.ops.savepoint_rollback_sql(sid)) 
InternalError: no such savepoint 

cevap

3

, örneğin yerine TestCase

ait TransactionTestCase alt sınıfı gerekir:

from django.test import TransactionTestCase 

class MyTests(TransactionTestCase): 
    ... 

sen olduğun için muhtemelen MySql geçer işlemleri desteklemeyen MyISAM tablolarını kullanma

İlgili konular