Yes, they are default settings.

It's quite strange you get empty strings instead null (None, in Python).

How are you inserting data into db? Are you using a SQLFORM or my_table.validate_and_insert() or simply mytable.insert()?

Do you get same results (blank values) inserting it from web2py shell using simply mytable.insert()?

--
Vinicius Assef


On Monday, July 23, 2012 5:58:19 PM UTC-4, Mark Li wrote:

    Aren't those the default values for a Field Contructor? I tried
    explicitly adding "notnull=False" and "required=False", and didn't
    set the default property, but empty values still come out as an
    empty string instead of None.

    On Monday, July 23, 2012 2:48:56 PM UTC-7, viniciusban wrote:

        As far as I know, let "notnull=False" and "required=False" for your
        fields and don't set "default" property.



        On 07/23/2012 06:32 PM, Mark Li wrote:
        > Unfortunately the lambda method didn't work, Anthony. Any other ideas
        > for having a None default for empty entries?
        >
        >
        > On a side note, if the 'integer' field type is used, then a blank 
entry
        > results in a None. Don't know if that helps but it's something I've 
noticed.
        >
        > On Monday, July 23, 2012 2:07:51 PM UTC-7, Anthony wrote:
        >
        >     To enter a value of None, this might work:
        >
        >     |
        >     default=lambda:None
        >     |
        >
        >     Anthony
        >
        >     On Monday, July 23, 2012 5:04:44 PM UTC-4, Anthony wrote:
        >
        >         default=None means that no default is specified, not that a
        >         default value of None will be inserted.
        >
        >         Anthony
        >
        >         On Monday, July 23, 2012 5:02:33 PM UTC-4, Mark Li wrote:
        >
        >             I have a table defined in the following manner:
        >
        >             db.define_table('songinfo',
        >             Field('songtitle'),
        >             Field('artist'))
        >
        >             When I add an empty entry, or upload a CSV with empty
        >             values, I can only access those values with a database 
call like
        >
        >             songs = db(db.songinfo.artist=="").select()
        >
        >             as opposed to db(db.songinfo.artist==None).select()
        >
        >
        >             The web2py book states that fields default=None, but I'm
        >             getting an empty string. Is there an appropriate way to 
have
        >             None instead of an empty string in the database?
        >
        >
        > --
        >
        >
        >

--




--



Reply via email to