0
장고 테스트를 작성하려고합니다. 이 오류가 발생합니다 :factory_boy에는 'objects'속성이 없습니다.
.../lib/python3.5/site-packages/factory/django.py", line 118, in _get_manager manager = model_class.objects AttributeError: type object 'MyClassView' has no attribute 'objects'
다음은 테스트 용으로 설정할 때 실패하는 setUp 메소드 (및 가져 오기)입니다.
from factory.django import DjangoModelFactory
import factory.fuzzy
import factory
from app_name import models
from faker import Factory as FakerFactory
faker = FakerFactory.create()
class MyClassViewFactory(DjangoModelFactory):
class Meta:
model = models.MyClassView
state = 'WI'
division = 'OP'
name = factory.LazyAttribute(lambda x: faker.text(max_nb_chars=40))
내 다른 공장
괜찮 제대로 작동하지만 다음은class MyClassView(models.Model):
state = models.CharField('State', max_length=2, null=True)
division = models.CharField('Division', max_length=2, null=True)
name = models.CharField('Name', max_length=40, null=True)
choice_objects = MyClassViewManager1()
내 공장 클래스입니다 : 여기
import django
django.setup()
from app_name.tests.app_name_factory import MyClassViewFactory
from app_name import models
class Test_MyClassView(TestCase):
def setUp(self):
self.MyClassView = MyClassViewFactory()
내 모델 (코드 실행은 오류 발생) MyClassViewFactory는 그렇지 않습니다. 나는
내가 factory_boy에 사용자 정의 관리자를위한 문서
http://factoryboy.readthedocs.io/en/latest/recipes.html#custom-manager-methods을 읽은
choice_objects = MyClassViewManager1()
관련이 생각하지만, 그것은 단지 하나의 예를 가지고 있으며, 그조차 내 문제의 경우 내가 확실 해요. (지금 며칠을 보냈습니다)
도움을 주셔서 감사합니다.
objects = models.Manager()
이 어쨌든, 진행에 허용 :
어떤 factory_boy 버전을 사용하고 있습니까? 소스 코드를 확인하면 예외를 처리하는 것 같습니다. https://github.com/FactoryBoy/factory_boy/blob/master/factory/django.py#L118 – AndrewS
factory_boy == 2.5.2 –
버전 2.5.2가 사용되었습니다. 2015 년 4 월. 가장 최신 버전은 2.9.2이고'objects'가 없을 때 Django 모델의'_default_manager'를 사용합니다. – AndrewS