Closed slzatz closed 9 years ago
Note that I truncated all the timestamps to integers and am continuing to see the same type of error in C:\Python34\lib\json\decoder.py
So what appears to be happening is the model is attempting to load values that are not specified in the schema because there are some additional fields present in the data. It will check to see if that field is a int/float/set, and if not, it will do a json.loads
. When you look at your data, are there any fields present other than artist
and ts
?
There are other fields like title and album. I have just added them to the model and the query does work. However, since it's a NoSQL database and records could have additional fields, I am not sure why the json.loads fails but, in any event, adding the fields does enable the query to run. Thank you.
The problem is that when I first wrote the library I tried to be too clever. In addition to saving the declared fields, Flywheel will also save any other properties on the model that don't begin or end with _
. This means that when it loads the dynamo data, it will attempt to deserialize any undeclared fields. Which works fine if you only ever added data from the python models, but can cause problems in your case.
If you look over at the 0.5 branch, I'm removing that behavior for the eventual 0.5.0 release. It's too confusing and not very useful.
Thanks for the explanation. I'll look at the 0.5 branch. Again, I want to thank you for your work -- using a syntax similar to sqlalchemy's made using flywheel very easy. I'll close this issue.
First of all, thanks for creating flywheel. Very helpful.
I do have the following issue:
Version is 0.44 running on python 3.43 under Windows 7 The db structure is:
Works fine when database is queried through boto or when exploring through the DynamoDB Web interface. I believe the issue is that for some reason the timestamps have a dozen or more digits to the right of the decimal point when I view them in the DynamoDB.
Whether that's it or not, all queries are throwing an Exception as follows: