37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
import datetime
|
|
from django.utils import timezone
|
|
from factory import SubFactory
|
|
from factory.fuzzy import FuzzyText, FuzzyInteger, FuzzyDateTime, FuzzyDate, FuzzyDecimal, FuzzyChoice
|
|
from factory.django import DjangoModelFactory
|
|
|
|
from companies.factories import CompanyFactory
|
|
|
|
from products.models import Product
|
|
|
|
|
|
|
|
class ProductFactory(DjangoModelFactory):
|
|
|
|
company = SubFactory(CompanyFactory)
|
|
sku = FuzzyText(prefix='SKU_', length=10)
|
|
name = FuzzyText(prefix='NAME_', length=10)
|
|
description = FuzzyText(prefix='DECRIPTION', length=100)
|
|
image = None
|
|
url = FuzzyText(prefix='http://WEB_LINK_', suffix='.test', length=10)
|
|
price = FuzzyDecimal(low=1.00)
|
|
shipping_cost = FuzzyDecimal(low=1.00)
|
|
shipping_terms = FuzzyText(prefix='SHIPPING_TERMS', length=100)
|
|
source = FuzzyChoice(choices=[x[1] for x in Product.SOURCES])
|
|
sourcing_date = FuzzyDateTime(start_dt=timezone.now())
|
|
update_date = FuzzyDateTime(start_dt=timezone.now())
|
|
discount = FuzzyDecimal(low=0.00, high=100.00)
|
|
stock = FuzzyInteger(low=0)
|
|
# tags = models.ManyToMany(Tag, null=True, blank=True )
|
|
# category = models.ForeignKey(Tag, null=true) # main tag category
|
|
# attributes = models.ManyToMany(Tag, null=True, blank=True )
|
|
identifiers = FuzzyText(prefix='IDENTIFIERS_', length=100)
|
|
|
|
class Meta:
|
|
model = Product
|
|
|