I have data in my database added by non model class method (Say using Sqlite3) running locally
Is there any way I can view this data or add it to a model schema?
So same database, table created and populated externally, any way to access this data?
there's a variety of sqlite tools that you can use to directly access the database.
https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
note that this will only work on the dev server, where sqlite is used to emulate the datastore.
The better option is to look at the low level datastore API. I don't know if there's online documentation, but you can look through the python code in the App Engine SDK, look for google.appengine.api.datastore, that has all the basic datastore commands.
Related
I am currently getting a lot of data via API and I would like to display it on a dynamic dashboard.
So far, I saw that I could use Grafana, but it seems to require a database such as InfluxDB.
Is it possible to use Grafana without storing the data I get via API into a database, and then display only the data I get each with each request?
You can define a RESTful API endpoint as a datasource using SimpleJson datasource plugin. In this way, you are able to remove the direct dependency to a database. However, your back-end needs to implement certain URLs and conforms to the plugin's request/response formats. I would recommend that you have a look at this link for a sample implementation, and see if it really meets your specific requirement.
I have a large mongo database with documents and i want to make Django website that is going to be a client to this mongo database but it can only filter (aggregate) and view information from database without any edit/update operations. I don't want to put other web site data (users' data, comments, other information) to mongo db.
I'm new to django framework and i wonder if it is better to connect mongodb and django using, for example, mongoengine and use two databases (one for the web site data, and the second one for external documents in mongodb) or use pymongo inside django to fetch data from external db and somehow transform it to djungo models?
Yup, you're spot on, in your case of needing two separate databases, it would be better to use mongoengine in order to use two separate databases. Check out this link. It goes over defining what database to use on a per-model basis so to say.
That most likely would work great. Basically you can query using the model the same way, regardless of the database is uses, but describe which database to use on the model itself.
Hope this helps!
I am developing a Cloud based data analysis tool, and I am using Django(1.10) for that.
I have to add columns to the existing tables, create new tables, change data-type of columns(part of data-cleaning activity) at the run time and can't figure out a way to update/reflect those changes, in run time, in the Django model, because those changes will be required in further analysis process.
I have looked into 'inspectdb' and 'syncdb', but all of these options would require taking the portal offline and then making those changes, which I don't want.
Please can you suggest a solution or a work-around of how to achieve this.
Also, is there a way in which I can select what database I want to work from the list of databases on my MySQL server, after running Django.
Django's ORM might not be the right tool for you if you need to change your schema (or db) online - the schema is defined in python modules and loaded once when Django's web server starts.
You can still use Django's templates, forms and other libraries and write your own custom DB access layer that manipulates a DB dynamically using python.
I'm planning to develop web UI something like iSQL*Plus-oracle but, for most common databases. Just take input query from user and return result with save options,etc.
So, for connecting to external data bases, what is advisable way,
1. Using django model and raw sql or,
2. with modules outside django - sqlalchemy+mysqldb,psycopg..?
Going through django documentation my understanding is db connections has to be in settings.py and I could not add from user input. Is my understanding is true or not?
I'm new to django not to python.
An ORM (something like Django's models or sqlalchemy) is a really helpful abstraction to help map tabular data in the database to the objects its being used to model in your code. It won't help with connecting to databases provided by the user since you won't know what the schema of the database is you're connecting to, nor what you are going to receive back from a query.
With django, the database defined in settings.py is used to store information related to your app such as user credentials, migrations as well as whatever else you define in your models.py files. So definitely don't try to change that dynamically as it is being used to store the state of your application for all users.
If you need to connect to external databases and run user-supplied queries, you can do that inside a view using the appropriate database driver. So psycopg2 for postgres would be fine.
I'm developing two Python flask apps: one is the API server, tied with a database through flask-sqlalchemy, and the other one a databaseless web frontend, between the user and the API server.
I'd like to reuse the model code, for example, if I define a "House" object in the apiserver, somewhat reuse the same code to define the same object in the frontend server.
What I'm trying to achieve is, let's say I add the property "number of windows" to the "House" object, do it just once and have this change in my database model, the JSON code interchanged between apiserver and webfrontend and the output of the webfrontend.
Some possible approachs that come to my mind are:
Somewhat automatically derive the SQLAlchemy database model from a initial shared model.
Use as-it-is the SQLAlchemy model in the nondatabase code, so I can use the objects even if there is no database behind.
Has anyone tried any of those approachs ? any ideas ?