Die Django -Testdatenbank kann nicht abzernten, wenn asynchronisierte Abfragen verwendet werden
Posted: 10 Apr 2025, 05:53
Ich habe ein Django -Projekt mit der Postgres -Datenbank konfiguriert.
Problem:
Wenn ich die Tests mit Python verwalten.Py -Test - Die Tests werden bestanden, aber am Ende sehe ich eine Ausnahme, dass der Testläufer die Testdatenbank nicht zerstören kann.
Gibt es eine Möglichkeit, sicherzustellen, dass alle Verbindungen geschlossen sind, bevor die Datenbank abgerissen wird?
Code: Select all
Django==5.0.1
psycopg2-binary==2.9.9
< /code>
Hier habe ich ein Modell definiert: < /p>
class Item(models.Model):
name = models.CharField(max_length=100)
< /code>
und ein Testfall: < /p>
class ItemTestCase(TestCase):
def test_create(self):
asyncio.run(Item.objects.acreate(name="Test"))
self.assertEqual(Item.objects.count(), 1)
Wenn ich die Tests mit Python verwalten.Py -Test - Die Tests werden bestanden, aber am Ende sehe ich eine Ausnahme, dass der Testläufer die Testdatenbank nicht zerstören kann.
Code: Select all
2024-01-18 19:05:03 django.db.utils.OperationalError: database "test_axpress" is being accessed by other users
2024-01-18 19:05:03 DETAIL: There is 1 other session using the database.