瀏覽代碼

[#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,6 +2,7 @@ from decimal import Decimal as D
2 2
 
3 3
 import factory
4 4
 from django.conf import settings
5
+from django.contrib.sites.models import Site
5 6
 
6 7
 from oscar.core.loading import get_class, get_model
7 8
 from oscar.core.utils import slugify
@@ -59,7 +60,9 @@ class OrderFactory(factory.django.DjangoModelFactory):
59 60
     if hasattr(settings, 'OSCAR_INITIAL_ORDER_STATUS'):
60 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 66
     number = factory.LazyAttribute(lambda o: '%d' % (100000 + o.basket.pk))
64 67
     basket = factory.SubFactory(
65 68
         'oscar.test.factories.BasketFactory')

Loading…
取消
儲存