Hi!
I'm new in web2py and I started to make a simple application to test it.
My db.py file is like this:
# -*- coding: utf-8 -*-
from gluon.tools import *
db =
DAL('mysql://root:****@localhost/web2pyPumpIt',pool_size=5,check_reserved=['all'])
auth = Auth(db)
auth.define_tables()
########################################################################
## Define your tables below (or better in another model file) for example
##
## >>> db.define_table('mytable',Field('myfield','string'))
##
## Fields can be 'string','text','password','integer','double','boolean'
## 'date','time','datetime','blob','upload', 'reference TABLENAME'
## There is an implicit 'id integer autoincrement' field
## Consult manual for more options, validators, etc.
##
## More API examples for controllers:
##
## >>> db.mytable.insert(myfield='value')
## >>> rows=db(db.mytable.myfield=='value').select(db.mytable.ALL)
## >>> for row in rows: print row.id, row.myfield
#########################################################################
db.define_table('brand',
Field('name', 'string'),
Field('country', 'string'),
format='%(name)s')
db.define_table('car',
Field('name', 'string'),
Field('brand_id', 'reference brand'),
Field('modelyear', 'integer'),
format='%(name)s')
db.define_table('carOwner',
Field('carowner', 'reference auth_user'),
Field('car', 'reference car'))
db.define_table('pumpData',
Field('pumpdate', 'date'),
Field('km', 'double'),
Field('liters', 'double'),
Field('price', 'double'),
Field('car', 'reference car'),
Field('created_on', 'datetime', default=request.now),
Field('created_by', 'reference auth_user', default=auth.user_id))
db.car.id.readable = db.car.id.writable = False
db.car.name.requires = IS_NOT_IN_DB(db, 'car.name')
db.car.name.requires = IS_NOT_EMPTY()
db.car.brand_id.requires = IS_NOT_EMPTY()
db.car.brand_id.requires = IS_IN_DB(db, 'brand.id', '%(name)s')
db.brand.name.requires = IS_NOT_IN_DB(db, 'car.name')
db.brand.name.requires = IS_NOT_EMPTY()
db.brand.country.requires = IS_NOT_EMPTY()
db.pumpData.pumpdate.requires = IS_NOT_EMPTY()
db.pumpData.km.requires = IS_NOT_EMPTY()
db.pumpData.liters.requires = IS_NOT_EMPTY()
db.pumpData.price.requires = IS_NOT_EMPTY()
db.pumpData.car.requires = IS_NOT_EMPTY()
db.pumpData.car.requires = IS_IN_DB(db, 'car.id', '%(name)s')
db.pumpData.created_by.readable = db.pumpData.created_by.writable = False
db.pumpData.created_on.readable = db.pumpData.created_on.writable = False
owners_and_cars = db((db.car.id==db.carOwner.car) & (db.auth_user.id ==
db.carOwner.carowner))
## after defining tables, uncomment below to enable auditing
# auth.enable_record_versioning(db)
I create a user, a brand, a car and then I assigned the car to the user.
My problem is that when I try to create a SQLFORM of pumpdata in controller
like this:
@auth.requires_login()
def addpump():
""" add pump """
form = SQLFORM(db.pumpData);
form.process(next=URL('listpumps'))
return dict(form=form)
I get all the cars! Now I only want the cars that the logged user own, not
all. How can I do that? My other problem is that I put on the fields
required but all the selects has a empty option.
Regards!!
--
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/groups/opt_out.