def create_cars(self): """ Create all for cars. """ # Car brands car_brands = [] car_models = [] for car_brand_slug, car_brand_name in CAR_BRANDS: try: car_brand = CarBrand.objects.get( slug=car_brand_slug) except CarBrand.DoesNotExist: car_brand = CarBrand.objects.create( slug=car_brand_slug, name=car_brand_name) car_brands.append(car_brand) for affix in ('I', 'II', 'III', 'IV', 'V'): car_model_name = ' ' . join( map(lambda x: x.strip(), (car_brand.name, affix))) try: car_model = CarModel.objects.get(name=car_model_name) except CarModel.DoesNotExist: car_model = CarModel.objects.create( mark=car_brand, name=car_model_name) car_models.append(car_model) for i in xrange(0, DEFAULT_TOTAL_CARS): new_car = Car() new_car.driver = random.choice(self._drivers) new_car.model = random.choice(car_models) new_car.car_no = u'%s-RT-%s' % ( RandomItemSupplier.get_random_chars(string.digits, 2), RandomItemSupplier.get_random_chars(string.digits, 3)) new_car.release_year = random.choice(range(1999, 2015)) new_car.color = random.choice( ('red', 'green', 'yellow', 'brown', 'black')) new_car.vin = u'VIN-%s' % \ RandomItemSupplier.get_random_chars(string.digits, 7) new_car.save() self._cars.append(new_car)