Hi,
Thanks for the help.
On Thursday, August 27, 2015 at 2:23:59 PM UTC-4, Michael Bayer wrote:
>
>
> So, next thing, has anything changed other than database data? versions
> of anything?
>
Really, none that I can think of. It's a production system, so almost no
one even has access to change things.
> Next thing, data-level. If the mapping you have here is to a SELECT or a
> join of some kind, if the columns that are the "primary key" come back as
> NULL, that won't return an ORM-level entity. Rows with a null primary key
> are omitted. echo='debug' would help to illustrate the row coming back.
>
All of my primary keys have primary key constants in the database (and a
paranoid query verified that all primary and foreign keys in question all
have values). This is the code:
plateid = 7555
platePointing = session.query(PlatePointing).join(Plate).\
filter(Plate.plate_id==plateid).one()
print(" ***** ", platePointing)
print(" ")
plateid = 8636
platePointing = session.query(PlatePointing).join(Plate).\
filter(Plate.plate_id==plateid).one()
print(" ***** ", platePointing)
The first query works, the second does not. I'm placing the debug output
trace below. The first is as expected, and I can't see any change in the
second (except no result).
Thanks,
Demitri
---
2015-08-27 19:03:18,095 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
2015-08-27 19:03:18,096 INFO sqlalchemy.engine.base.Engine SELECT
platedb.plate_pointing.pk AS platedb_plate_pointing_pk,
platedb.plate_pointing.hour_angle AS platedb_plate_pointing_hour_angle,
platedb.plate_pointing.plate_pk AS platedb_plate_pointing_plate_pk,
platedb.plate_pointing.pointing_pk AS platedb_plate_pointing_pointing_pk,
platedb.plate_pointing.pointing_name AS
platedb_plate_pointing_pointing_name, platedb.plate_pointing.priority AS
platedb_plate_pointing_priority, platedb.plate_pointing.ha_observable_min
AS platedb_plate_pointing_ha_observable_min,
platedb.plate_pointing.ha_observable_max AS
platedb_plate_pointing_ha_observable_max
FROM platedb.plate_pointing JOIN platedb.plate ON platedb.plate.pk =
platedb.plate_pointing.plate_pk
WHERE platedb.plate.plate_id = %(plate_id_1)s
2015-08-27 19:03:18,096 INFO sqlalchemy.engine.base.Engine {'plate_id_1':
7555}
2015-08-27 19:03:18,097 DEBUG sqlalchemy.engine.base.Engine Col
('platedb_plate_pointing_pk', 'platedb_plate_pointing_hour_angle',
'platedb_plate_pointing_plate_pk', 'platedb_plate_pointing_pointing_pk',
'platedb_plate_pointing_pointing_name', 'platedb_plate_pointing_priority',
'platedb_plate_pointing_ha_observable_min',
'platedb_plate_pointing_ha_observable_max')
2015-08-27 19:03:18,098 DEBUG sqlalchemy.engine.base.Engine Row (6546,
Decimal('45.0'), 10702, 6369, u'A', 8, Decimal('32.054'), Decimal('53.465'))
***** 2015-08-27 19:03:18,100 INFO sqlalchemy.engine.base.Engine SELECT
platedb.plate.pk AS platedb_plate_pk, platedb.plate.plate_id AS
platedb_plate_plate_id, platedb.plate.design_pk AS platedb_plate_design_pk,
platedb.plate.location_id AS platedb_plate_location_id,
platedb.plate.comment AS platedb_plate_comment,
platedb.plate.plate_location_pk AS platedb_plate_plate_location_pk,
platedb.plate.temperature AS platedb_plate_temperature, platedb.plate.epoch
AS platedb_plate_epoch, platedb.plate.rerun AS platedb_plate_rerun,
platedb.plate.plate_run_pk AS platedb_plate_plate_run_pk,
platedb.plate.tile_id AS platedb_plate_tile_id, platedb.plate.name AS
platedb_plate_name, platedb.plate.chunk AS platedb_plate_chunk,
platedb.plate.tile_pk AS platedb_plate_tile_pk,
platedb.plate.plate_completion_status_pk AS
platedb_plate_plate_completion_status_pk,
platedb.plate.current_survey_mode_pk AS
platedb_plate_current_survey_mode_pk
FROM platedb.plate
WHERE platedb.plate.pk = %(param_1)s
2015-08-27 19:03:18,100 INFO sqlalchemy.engine.base.Engine {'param_1':
10702}
2015-08-27 19:03:18,101 DEBUG sqlalchemy.engine.base.Engine Col
('platedb_plate_pk', 'platedb_plate_plate_id', 'platedb_plate_design_pk',
'platedb_plate_location_id', 'platedb_plate_comment',
'platedb_plate_plate_location_pk', 'platedb_plate_temperature',
'platedb_plate_epoch', 'platedb_plate_rerun', 'platedb_plate_plate_run_pk',
'platedb_plate_tile_id', 'platedb_plate_name', 'platedb_plate_chunk',
'platedb_plate_tile_pk', 'platedb_plate_plate_completion_status_pk',
'platedb_plate_current_survey_mode_pk')
2015-08-27 19:03:18,101 DEBUG sqlalchemy.engine.base.Engine Row (10702L,
7555, 7926L, 5007L, u'200', 23, Decimal('14.1'), Decimal('2014.6'), u' ',
659, None, u'K07_075+17', u'2014.04.c.apogee2', None, 0, None)
<PlatePointing: plate=7555, pointing=A (id=6546)>
2015-08-27 19:03:18,102 INFO sqlalchemy.engine.base.Engine SELECT
platedb.plate_pointing.pk AS platedb_plate_pointing_pk,
platedb.plate_pointing.hour_angle AS platedb_plate_pointing_hour_angle,
platedb.plate_pointing.plate_pk AS platedb_plate_pointing_plate_pk,
platedb.plate_pointing.pointing_pk AS platedb_plate_pointing_pointing_pk,
platedb.plate_pointing.pointing_name AS
platedb_plate_pointing_pointing_name, platedb.plate_pointing.priority AS
platedb_plate_pointing_priority, platedb.plate_pointing.ha_observable_min
AS platedb_plate_pointing_ha_observable_min,
platedb.plate_pointing.ha_observable_max AS
platedb_plate_pointing_ha_observable_max
FROM platedb.plate_pointing JOIN platedb.plate ON platedb.plate.pk =
platedb.plate_pointing.plate_pk
WHERE platedb.plate.plate_id = %(plate_id_1)s
2015-08-27 19:03:18,102 INFO sqlalchemy.engine.base.Engine {'plate_id_1':
8636}
2015-08-27 19:03:18,103 DEBUG sqlalchemy.engine.base.Engine Col
('platedb_plate_pointing_pk', 'platedb_plate_pointing_hour_angle',
'platedb_plate_pointing_plate_pk', 'platedb_plate_pointing_pointing_pk',
'platedb_plate_pointing_pointing_name', 'platedb_plate_pointing_priority',
'platedb_plate_pointing_ha_observable_min',
'platedb_plate_pointing_ha_observable_max')
Traceback (most recent call last):
File "/home/muna/sdss_python_module/bin/populate_obs_ranges2.py", line
290, in <module>
filter(Plate.plate_id==plateid).one()
File
"/home/sdss4/products/Linux64/sqlalchemy/0.9.7/lib/python2.7/site-packages/sqlalchemy/orm/query.py",
line 2375, in one
raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.