【问题标题】:Django tests fails with <model> has not attribute 'object' errorDjango 测试失败,<model> has not attribute 'object' 错误
【发布时间】:2021-06-24 16:30:48
【问题描述】:

我有以下两种型号:

class Resource(models.Model):
    identifier = models.UUIDField(default=uuid.uuid4, unique=True)
    date_added = models.DateTimeField(default=now)

    def __repr__(self):
        return f'Resource: {self.identifier}, Time added: {self.date_added}'

class URLResource(Resource):
    url = models.URLField()

    def __repr__(self):
        return f'{self.identifier} URL: {self.url}'

当我在 django shell 中运行以下命令时,一切正常:

> from user_page.models import URLResource
> URLResource.objects.create(url='abc') 
# outputs: `a3157372-7191-4d70-a4b1-c6252a2a139c URL: abc`
> URLResource.objects.get(url='abc') 
# outputs: `a3157372-7191-4d70-a4b1-c6252a2a139c URL: abc`

然而,我看似微不足道的测试用例失败了,即使类似的执行在 django shell 中成功:

from django.test import TestCase
from users.models import CustomUser
from .models import Resource, URLResource, Record

class URLResource(TestCase):
    def setUp(self):
        url_resource = URLResource.objects.create(url='abc')
        print(repr(url_resource))

    def test_url(self):
        print(repr(URLResource.objects.get(url='abc')))

我收到以下错误:

======================================================================
ERROR: test_url (user_page.tests.URLResource)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/admin/Desktop/readrrr/user_page/tests.py", line 26, in setUp
    url_resource = URLResource.objects.create(url='abc')
AttributeError: type object 'URLResource' has no attribute 'objects'

----------------------------------------------------------------------

【问题讨论】:

    标签: django django-models django-tests


    【解决方案1】:

    您已将测试类命名为与您尝试测试的类相同的名称。尝试将其重命名为URLResourceTest

    【讨论】:

    • 我太傻了。才意识到我的错误。谢谢!
    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 2022-12-03
    • 2019-07-19
    • 2015-11-13
    • 2014-12-20
    • 2021-11-08
    • 2022-11-18
    • 2015-07-06
    相关资源
    最近更新 更多