| 5:54 PM (1 minute ago) | ![]() ![]() | ||
| ||||
Hi,
I found out that changing:
To:
for user in User.objects.all().exclude(pk=self.user_1.pk):Fixes the problem. What does it mean? Does it mean I can't safely delete users in bulk by .delete()? And if it does, how do I disable it so trying to delete users in bulk will raise an exception?
user.delete()
אורי
On Sun, May 17, 2020 at 5:56 PM אורי <uri@speedy.net> wrote:
Hi,I'm creating a new test and it has users and I delete them:The User model has related models with on_delete=models.CASCADE which should be deleted as well.But in my test, I get this exception:======================================================================
ERROR: test_like_list_views_titles_with_empty_lists (speedy.match.likes.tests.test_views.LikeListViewsEnglishTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "env\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql)
psycopg2.errors.ForeignKeyViolation: insert or update on table "net_accounts_siteprofile" violates foreign key constraint "net_accounts_sitepro_user_id_c96775a1_fk_accounts_"
DETAIL: Key (user_id)=(403828609159078) is not present in table "accounts_user".
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "env\lib\site-packages\django\test\testcases.py", line 274, in __call__
self._post_teardown()
File "env\lib\site-packages\django\test\testcases.py", line 1009, in _post_teardown
self._fixture_teardown()
File "env\lib\site-packages\django\test\testcases.py", line 1177, in _fixture_teardown
connections[db_name].check_constraints()
File "env\lib\site-packages\django\db\backends\postgresql\base.py", line 276, in check_constraints
self.cursor().execute('SET CONSTRAINTS ALL IMMEDIATE')
File "env\lib\site-packages\django\db\backends\utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "env\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "env\lib\site-packages\django\db\backends\utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "env\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "env\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql)
django.db.utils.IntegrityError: insert or update on table "net_accounts_siteprofile" violates foreign key constraint "net_accounts_sitepro_user_id_c96775a1_fk_accounts_"
DETAIL: Key (user_id)=(403828609159078) is not present in table "accounts_user".
----------------------------------------------------------------------
Ran 1 test in 7.425sI think this exception is because the users I deleted. net_accounts_siteprofile refers to the SiteProfile model which should be deleted when deleting a user by on_delete=models.CASCADE .What is the problem and how do I fix it?אורי
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CABD5YeFM4aYF5EEA4UsMTWs3QG-b73uzCAyf%3DCm%3DraRRTbM%3DGA%40mail.gmail.com.

No comments:
Post a Comment