【问题标题】:DJANGO can't delete a user from django.contrib.auth.models when running functional test运行功能测试时,DJANGO 无法从 django.contrib.auth.models 中删除用户
【发布时间】:2015-12-06 15:43:00
【问题描述】:

在运行 tearDown() 方法时,我无法删除在测试期间创建的任何用户。错误令人费解,因为它表明没有加载任何模型。

尝试了以下方法:

User.objects.filter(id__in=users_to_remove).delete()
User.objects.filter(username='testuser2').delete()

两者都返回相同的错误消息。

有谁知道从测试文件中删除用户的正确方法是什么?

功能测试文件详情: https://gist.github.com/leoreq/af090569980f06985f83

错误信息返回: Erorr Message returned in terminal

【问题讨论】:

  • 您应该阅读testing docs。 Django 需要一些额外的设置,并提供了为你做这些的工具。
  • @knbk 谢谢你的信息。实际上,我一直在浏览测试文档详细信息和其他 django 文档,当我现在只想删除一个用户时,发现自己被许多细节淹没了。我认为这可能是一件更简单的事情。

标签: python django functional-testing


【解决方案1】:

设置环境变量后需要调用django.setup()

# Set up django
import os
import sys
import django
project_dir = abspath(dirname(dirname(__file__)))
sys.path.insert(0, project_dir)
os.environ['DJANGO_SETTINGS_MODULE'] = 'slapp.settings'
django.setup()

【讨论】:

  • 您好 Alasadair,非常感谢您提供的详细信息。你能不能给我一点启发。为什么我必须运行设置???在这种情况下实际设置了什么?
  • 查看有关'standalone' Django usage的文档。
猜你喜欢
  • 2020-01-08
  • 2016-09-06
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 2013-05-29
  • 2016-08-05
  • 1970-01-01
  • 2021-07-28
相关资源
最近更新 更多