I'm experimenting with the various field types (mysql) to learn more about 
web2py.
I'm not sure why I got this error

<type 'exceptions.AttributeError'> 'str' object has no attribute 'writable'

Version
web2py(tm)      Version 2.9.5-trunk+timestamp.2014.07.03.12.21.52 


Given this  table:

db.define_table('test_all_fields',
                        Field('f1_boolean','boolean'),
                        Field('f1a_string'),
                        Field('f2_text','text'),
                        Field('f3_json','json'),
                        Field('f4_password','password'),
                        Field('f5_blob','blob'),
                        Field('f6_upload','upload'),
                        Field('f7_integer','integer'),
                        Field('f8_bigint','bigint'),
                        Field('f10_double','double'),
                        Field('f11_decimal','decimal(8,2)'),
                        Field('f12_date','date'),
                        Field('f13_time','time'),
                        Field('f14_datetime','datetime'),
                        #Field('f15_list_integer','list:integer'),
                        #Field('f16_list_string','list:string'),
                
        )

I wanted to display a record from it using SQLFORM, with all defaults:

    row=db.test_all_fields(request.args[1])
    form=SQLFORM(row)


The error is being thrown in gluon/sqlhtml.py, line 1037:

Aren't the default attributes for a Field maintained throughout?

Thanks!!

Don

Field(name, 'string', length=None, default=None,
      required=False, requires='<default>',
      ondelete='CASCADE', notnull=False, unique=False,
      uploadfield=True, widget=None, label=None, comment=None,
      writable=True, readable=True, update=None, authorize=None,
      autodelete=False, represent=None, compute=None,
      uploadfolder=None,
      uploadseparate=None,uploadfs=None)


 
Code listing

1032.
1033.
1034.
1035.
1036.
1037.

1038.
1039.
1040.
1041.

        # if no fields are provided, build it from the provided table
        # will only use writable or readable fields, unless forced to ignore
        if fields is None:
            fields = [f.name for f in table if
                      (ignore_rw or f.writable or f.readable) and

                      (readonly or not f.compute)]
        self.fields = fields

        # make sure we have an id
Variables

ignore_rw       False
f.readable      undefined
f.writable      undefined
f       'f4_password'


-- 
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.

Reply via email to