ps - i'm getting the file locally as i havent worked out the .retrieve:
method yet
On Tuesday, July 31, 2018 at 6:51:41 PM UTC+2, Matthew J Watts wrote:
>
> Hello all
>
> I'm trying to build a .csv data upload facility which will update two
> tables in sequence. So, i have my 'person' table which has a one to many
> relationship with the 'thing' table i.e. one person can own many different
> things.
>
> What i need to do is get the primary key from a 'person' row after an
> 'update_or_insert ', this ID will then go into the 'owner_id' for the
> correseponding row in the 'thing' table .
>
> Any ideas as to how i can do this? Excuse my programming i'm a beginner!
>
> model
>
> db.define_table('person',
> Field('name'),
> Field('age'),
> Field('country'),
> format='%(name)s')
>
> db.define_table('thing',
> Field('thing_name'),
> Field('value'),
> Field('location'),
> Field('owner_id'))
>
>
> controller
>
> import csv
>
> def importer():
> form = FORM(INPUT(_type='submit',_class="btn btn-primary"))
> if form.process().accepted:
> with
> open('C:/Users/matt/PycharmProjects/all_projects/web2py/applications/uploadTest/private/test.csv')
> as csvfile:
> readCSV = csv.reader(csvfile, delimiter=',')
> next(readCSV, None)
> for row in readCSV:
> name = row[0]
> age = row[1]
> country = row[2]
> thing_name = row[3]
> value = row[4]
> location = row[5]
> db.person.update_or_insert(name=name,age=age, country=country)
>
> db.thing.insert(thing_name=thing_name,value=value,location=location)
> return dict(form=form)
>
>
> and the following data
>
>
> person.name,person.age,person.country,thing.name,thing.value,thing.location
> matt,38,uk,teddy,12,house
> matt,38,uk,kite,13,outside
> matt,38,uk,screen,14,shed
> matt,38,uk,teddy,15,garden
> will,24,us,table,16,house
> will,24,us,teddy,17,outside
> will,24,us,kite,18,shed
> will,24,us,screen,19,garden
> pete,56,bel,teddy,20,house
> pete,56,bel,table,21,outside
> pete,56,bel,teddy,22,shed
> pete,56,bel,kite,23,garden
> pete,56,bel,screen,24,house
> pete,56,bel,teddy,25,outside
> matt,38,aus,teddy,26,shed
> matt,38,can,kite,27,garden
> matt,38,fr,screen,23,shed
> pete,25,bel,teddy,22,shed
> pete,25,bel,screen,74,shed
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.