Hi Anthony,
Many thanks for this. A complete noobie error - sorry to waste your time
but I really appreciate your help. It was the error message that threw me!
Best wishes,
Heather
On Thursday, 17 March 2016 15:55:17 UTC, Anthony wrote:
>
> You are missing a comma:
>
> Field('ReportInstanceIndicatorInstance', 'reference
> ReportInstanceIndicatorInstance')
>
> Python concatenates adjacent string literals delimited by whitespace, so
> without the comma, Python interprets:
>
> 'ReportInstanceIndicatorInstance' 'reference
> ReportInstanceIndicatorInstance'
>
> as:
>
> 'ReportInstanceIndicatorInstancereference ReportInstanceIndicatorInstance'
>
> So, it appears you are trying to include a space in the field name rather
> than specify the field as a reference field.
>
> Anthony
>
> On Thursday, March 17, 2016 at 10:58:43 AM UTC-4, Heather Dawe wrote:
>>
>> The two tables I am defining are as follows
>>
>> db.define_table('Series',
>> Field('name'),
>> Field('SeriesBy', 'reference DataItem'),
>> format='%(name)s')
>>
>> db.define_table('SeriesReportInstanceIndicatorInstance',
>> Field('Series', 'reference Series'),
>> Field('ReportInstanceIndicatorInstance' 'reference
>> ReportInstanceIndicatorInstance'),
>> Field('this_series_name'))
>>
>> The Series table gets defined fine. The error I get is the following
>>
>> <type 'exceptions.SyntaxError'> Field: invalid field name:
>> ReportInstanceIndicatorInstancereference ReportInstanceIndicatorInstance,
>> use rname for "funny" names
>>
>> when I attempt to reference the already established
>> ReportInstanceIndicatorInstance table below
>>
>> db.define_table('ReportInstanceIndicatorInstance',
>> Field('ReportInstance', 'reference ReportInstance'),
>> Field('IndicatorInstance', 'reference IndicatorInstance'),
>> Field('GroupBy', 'reference DataItem'),
>> Field('GroupBy2', 'reference DataItem'),
>> Field('title'),
>> Field('x_axis_label'),
>> Field('y_axis_label'),
>> Field('report_data_id'),
>> format= '%(title)s')
>>
>>
>>
>> On Thursday, 17 March 2016 14:30:36 UTC, Anthony wrote:
>>>
>>> According to the error, your field name is "field1reference table1", so
>>> you probably have an error in the field definition. Please show your model
>>> code.
>>>
>>> Anthony
>>>
>>> On Thursday, March 17, 2016 at 8:28:00 AM UTC-4, Heather Dawe wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I have had this error in a couple of scenarios now. I have an
>>>> established and working web2py app and I wish to add a couple of tables to
>>>> the model. A number of fields in these new tables reference fields in
>>>> established tables. I get this error when trying to create the new tables
>>>>
>>>> <type 'exceptions.SyntaxError'> Field: invalid field name:
>>>> field1reference table1, use rname for "funny" names
>>>>
>>>> where 'field1' is the name of a field in the new table I am trying to
>>>> create that references table1 (the id field in table1). Given that all I
>>>> am
>>>> trying to do is add a new table to my model which has a field that
>>>> references an existing table I don't see why this is a problem? I have
>>>> looked into it and searched for the error etc. I have tried to fix it by
>>>> changing to migrate='false' and fake_migrate='true' etc. but this has not
>>>> solved it. Can anyone please advise why I am getting this error and how to
>>>> sort it out?
>>>>
>>>> Many thanks,
>>>> Heather
>>>>
>>>
--
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.