Exception with Django 1.6.5 and factory_boy
django, factory-boy
Solution
The proposed syntax using the `Meta` class will only be released as part of the (unreleased) Factory Boy 2.4. Use `SshOpenVpnServerFactory.FACTORY_FOR` instead. Related issue: https://github.com/rbarrois/factory_boy/issues/143
Problem
I decided to use factory_boy in my simple django application for test purposes. But I had a problem with simple example. Here is the code of my simple test. ``` from django.utils import unittest from ..models import Server, ServerAddress, L2TPServer, serialize_open_vpn_server_json from factory import django as django_factory class SshOpenVpnServerFactory(django_factory.DjangoModelFactory): class Meta: model = L2TPServer django_get_or_create = ('name', 'address') name = 'Hello' address = 'Nono' class ServersTestCase(unittest.TestCase): def test_serialize_server_info(self): print Server.objects.all() SshOpenVpnServerFactory.build() ``` When test-runner executes this test, I get an error: ``` Traceback (most recent call last): File "/Users/green/Development/Wasel/experimental/wasel_services/packages/waselcore/backend/tests/test_models.py", line 20, in test_serialize_server_info SshOpenVpnServerFactory.build() File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/base.py", line 504, in build attrs = cls.attributes(create=False, extra=kwargs) File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/base.py", line 365, in attributes force_sequence=force_sequence, File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/containers.py", line 265, in build sequence = self.factory._generate_next_sequence() File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/base.py", line 338, in _generate_next_sequence cls._setup_counter() File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/base.py", line 318, in _setup_counter first_seq = cls._setup_next_sequence() File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/django.py", line 83, in _setup_next_sequence manager = cls._get_manager(model) File "/Users/green/Development/Wasel/experimental/env/wasel_sevices/lib/python2.7/site-packages/factory/django.py", line 76, in _get_manager return target_class.objects AttributeError: 'NoneType' object has no attribute 'objects' ``` Where am I wrong? Does factory_boy support django 1.6.5?