from .models import User def get_or_create_customer(request, shipping_address): if request.user.is_authenticated: user = request.user else: user, u_created = User.objects.get_or_create( email=shipping_address['email'].lower(), defaults={ 'username': shipping_address['email'].lower(), 'is_staff': False, 'is_active': True, 'is_superuser': False, 'first_name': shipping_address['first_name'], 'last_name': shipping_address['last_name'], 'shipping_street_address_1': shipping_address['street_address_1'], 'shipping_street_address_2': shipping_address['street_address_2'], 'shipping_city': shipping_address['city'], 'shipping_state': shipping_address['state'], 'shipping_postal_code': shipping_address['postal_code'] } ) if u_created: user.set_unusable_password() user.save() return user