Source code for examples.dogpile_caching.fixture_data
"""Installs some sample data. Here we have a handful of postal codes fora few US/Canadian cities. Then, 100 Person records are installed, eachwith a randomly selected postal code."""importrandomfrom.environmentimportBasefrom.environmentimportSessionfrom.modelimportAddressfrom.modelimportCityfrom.modelimportCountryfrom.modelimportPersonfrom.modelimportPostalCodedefinstall():Base.metadata.create_all(Session().bind)data=[("Chicago","United States",("60601","60602","60603","60604")),("Montreal","Canada",("H2S 3K9","H2B 1V4","H7G 2T8")),("Edmonton","Canada",("T5J 1R9","T5J 1Z4","T5H 1P6")),("New York","United States",("10001","10002","10003","10004","10005","10006"),),("San Francisco","United States",("94102","94103","94104","94105","94107","94108"),),]countries={}all_post_codes=[]forcity,country,postcodesindata:try:country=countries[country]exceptKeyError:countries[country]=country=Country(country)city=City(city,country)pc=[PostalCode(code,city)forcodeinpostcodes]Session.add_all(pc)all_post_codes.extend(pc)foriinrange(1,51):person=Person("person %.2d"%i,Address(street="street %.2d"%i,postal_code=all_post_codes[random.randint(0,len(all_post_codes)-1)],),)Session.add(person)Session.commit()# start the demo freshSession.remove()