fix faker

This commit is contained in:
b1ek 2023-05-07 16:35:50 +10:00
parent c6a4784cd2
commit 767ed3538a
Signed by: blek
GPG Key ID: 14546221E3595D0C
1 changed files with 61 additions and 32 deletions

View File

@ -1,55 +1,84 @@
import factory import factory
import random
import time, datetime
from django.db import models
from pairent_app.models import Apartament from pairent_app.models import Apartament
factory.Faker.override_default_locale('ru_RU'); factory.Faker.override_default_locale('ru_RU');
class PhoneNumber(factory.declarations.BaseDeclaration):
def evaluate(self, instance, step, extra):
return '+799' + str(random.randint(0, 99999999)).zfill(8);
class Random(factory.declarations.BaseDeclaration):
def __init__(self, min, max = None, multiply = 1):
if (max == None):
self.min = 0;
self.max = min;
else:
self.min = min;
self.max = max;
self.multiply = multiply;
super().__init__();
def evaluate(self, instance, step, extra):
if (self.multiply != None):
return random.randint(self.min, self.max) * self.multiply;
return random.randint(self.min, self.max);
class Date(factory.declarations.BaseDeclaration):
def evaluate(self, instance, step, extra):
# year_before = time.time() - (60 * 60 * 24 * 30 * 12);
return datetime.datetime(2023, random.randint(1,12), random.randint(1,27)).strftime("%G-%m-%d");
class ApartmentFactory(factory.django.DjangoModelFactory): class ApartmentFactory(factory.django.DjangoModelFactory):
class Meta: class Meta:
model = Apartament model = Apartament
# Base data # Base data
price = factory.Faker('random_number') price = Random(3,10,5000);
lastPrice = price lastPrice = Random(3,10,5000);
bail = factory.Faker('random_number') bail = Random(2,10,1000);
agencyCommission = factory.Faker('random_number') agencyCommission = Random(3,5,2500);
utilitiesPrice = factory.Faker('random_number') utilitiesPrice = Random(4,8,1000)
minimumLeasePeriod = factory.Faker('random_number') minimumLeasePeriod = Random(1,2,6);
address = factory.Faker('address') address = factory.Faker('address', locale='ru_RU');
description = factory.Faker('sentence') description = factory.Faker('sentence', locale='ru_RU');
perimetrs = factory.Faker('random_number') perimetrs = Random(15,40);
rooms = factory.Faker('random_number') rooms = Random(0,4);
ceilingHeight = factory.Faker('random_number') ceilingHeight = Random(3,5);
floorHouse = factory.Faker('random_number') floorHouse = Random(2,20);
floor = factory.Faker('random_number') floor = Random(2,20);
phoneNumber = factory.Faker('phone_number') phoneNumber = PhoneNumber()
timeToBus = factory.Faker('random_number') timeToBus = Random(1, 12, 5);
timeToTrain = factory.Faker('random_number') timeToTrain = Random(1, 12, 5);
# Apartment props # Apartment props
isFurniture = factory.Faker('boolean') isFurniture = Random(0, 1);
isAnimal = factory.Faker('boolean') isAnimal = Random(0, 1);
isTelevision = factory.Faker('boolean') isTelevision = Random(0, 1);
isChild = factory.Faker('boolean') isChild = Random(0, 1);
isInternet = factory.Faker('boolean') isInternet = Random(0, 1);
isBathroom = factory.Faker('boolean') isBathroom = Random(0, 1);
isRefrigerator = factory.Faker('boolean') isRefrigerator = Random(0, 1);
isWasher = factory.Faker('boolean') isWasher = Random(0, 1);
isAirConditioning = factory.Faker('boolean') isAirConditioning = Random(0, 1);
isFreshRepair = factory.Faker('boolean') isFreshRepair = Random(0, 1);
# House props # House props
isElevator = factory.Faker('boolean') isElevator = Random(0, 1);
isParking = factory.Faker('boolean') isParking = Random(0, 1);
isGarbageChute = factory.Faker('boolean') isGarbageChute = Random(0, 1);
isConcierge = factory.Faker('boolean') isConcierge = Random(0, 1);
views = factory.Faker('random_number') # views = [] # factory.Faker('random_number')
dateCreate = factory.Faker('date') dateCreate = Date()