Преглед изворни кода

[#3872] OrderFactory breaks if settings.SITE_ID isn't set

master
Martin Winkel пре 3 година
родитељ
комит
5bba3a78c7
1 измењених фајлова са 4 додато и 1 уклоњено
  1. 4
    1
      src/oscar/test/factories/order.py

+ 4
- 1
src/oscar/test/factories/order.py Прегледај датотеку

2
 
2
 
3
 import factory
3
 import factory
4
 from django.conf import settings
4
 from django.conf import settings
5
+from django.contrib.sites.models import Site
5
 
6
 
6
 from oscar.core.loading import get_class, get_model
7
 from oscar.core.loading import get_class, get_model
7
 from oscar.core.utils import slugify
8
 from oscar.core.utils import slugify
59
     if hasattr(settings, 'OSCAR_INITIAL_ORDER_STATUS'):
60
     if hasattr(settings, 'OSCAR_INITIAL_ORDER_STATUS'):
60
         status = settings.OSCAR_INITIAL_ORDER_STATUS
61
         status = settings.OSCAR_INITIAL_ORDER_STATUS
61
 
62
 
62
-    site_id = settings.SITE_ID
63
+    site_id = factory.LazyAttribute(
64
+        lambda o: settings.SITE_ID if hasattr(settings, "SITE_ID") else Site.objects.first()
65
+    )
63
     number = factory.LazyAttribute(lambda o: '%d' % (100000 + o.basket.pk))
66
     number = factory.LazyAttribute(lambda o: '%d' % (100000 + o.basket.pk))
64
     basket = factory.SubFactory(
67
     basket = factory.SubFactory(
65
         'oscar.test.factories.BasketFactory')
68
         'oscar.test.factories.BasketFactory')

Loading…
Откажи
Сачувај