meanpug / django-gsheets Goto Github PK
View Code? Open in Web Editor NEWDjango app for keeping models and google sheets synced
Home Page: https://www.meanpug.com/sync-data-to-and-from-google-sheets-with-django-gsheets/
License: MIT License
Django app for keeping models and google sheets synced
Home Page: https://www.meanpug.com/sync-data-to-and-from-google-sheets-with-django-gsheets/
License: MIT License
Hi,
When synchronizing it with google sheets, I`ve got an IndexError:list index out of range.
https://i.stack.imgur.com/P2bbd.png
Does anyone got an idea why?
Many Thanks
Warning at /gsheets/auth-success/
Scope has changed from "https://www.googleapis.com/auth/spreadsheets" to "https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/userinfo.profile openid https://www.googleapis.com/auth/userinfo.email".
Steps to recreate
Any help or clues would be most welcome.
cheers
I am getting this. Person.sync_sheet() works properly. But python manage.py syncgsheets not working.
First, I love your project, So thank you a ton!
I also found a small issue which is when I assign the "sheet_name" variable with any value, or even use the default one.
the googleapi return " unable to parse issue".
I found a quick fix which is to assign the variable with an empty string ''
error details:
"Quota exceeded for quota group 'WriteGroup' and limit 'Write requests per user per 100 seconds' of service 'sheets.googleapis.com' for consumer 'project_number:XXXX'.". Details: "[{'@type': 'type.googleapis.com/google.rpc.Help', 'links': [{'description': 'Google developer console API key', 'url': 'https://console.developers.google.com/project/671191814931/apiui/credential'}]}]"
Desired:
Use a back-off to retry
Let me lead by saying this is an amazing plugin, thank you for putting in the time to make it functional.
As I set it up, I noticed that only string values seem to be pushing successfully - this is with mixins.SheetPushableMixin
and I tried both a DecimalField and DateTimeField. Is there a plan to make additional field types compatible?
The current management command does both sync pull and push, this could create duplicates when the row deleted from the admin panel, then run the sync command.
How to reproduce
My proposal was to be able to give the management command optional argument to run only pull or only push action. Can I make PR for this?
Use case:
Is it possible to push my changes to the google sheet with a signals?
Firstly, thank you for the awesome package 😎.
Right now, when pulling data from a Google sheet, it always starts from the first row; Is it possible to specify which row it should start pulling data from (Ability to specify from which rows I want to keep the sheet in sync)?
I have seen using data_range
but I have a situation where A1
is the only row that contains field names that match model fields.
Is it possible to define something like data_range = 'A7:Z'
where A7 is just a row that has data?
Currently, upon creation of a new model instance during a sheet pull session we write out a single individual cell containing that model's GUID.
Desired:
Cache a list of instances that have been created and their GUID's (along with associated rows) and write out this list in batch(es).
Would it be of use if the library was able to push changes that happened only in specific rows?
I am encountering this, as I am using celery and there are multiple rows that are being updated and processed in parallel. Each updating the sheet, so for some time the sheet might have false information.
I believe enabling this will enhance the synchronization capabilities of the library.
Everything is working normal on my dev environement with ngrok but when its deployed to aws using public free dns of aws the reequest is always timed out
When I was pull sheet to use my own id that is already stored in google sheets
Traceback
Traceback (most recent call last):
File "gsheets/gsheets.py", line 351, in upsert_model_data
instance, created = self.model_cls.objects.get(**model_filter), False
File "django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "django/db/models/query.py", line 429, in get
raise self.model.DoesNotExist(
member.models.Model.DoesNotExist: Model matching query does not exist.
I am getting the issue , when Try model_name.sync_sheet(), it can detect the model but I get an error saying it hasn't provided a API key and when i run Python manage.py syncgsheets it says found
0 syncable models
Successfully finished sync
When visiting /gsheets/authorize for Authorization
Hi. I am using ngrok and testing it in dev mode and when syncgsheet I ran across this problem:
ValueError: 'Django GUID' is not in list
self.upsert_sheet_data(**push_data)
existing_row_ix = self.existing_row(**data)
sheet_id_ix = self.column_index(self.sheet_id_field)
return self.sheet_headers.index(field_name)
ValueError: 'Django GUID' is not in list
When I pull TRUE
or FALSE
value from sheet it shows:
Exception has occurred: ValidationError
['“FALSE” value must be either True or False.']
But when I type True
in sheet, it cast into all uppercase.
One of the issues is that in a lot of use cases, it would be tremendously useful to be able to delete rows from the sheet based on only the ID. I am still a bit new to the whole google sheet API thing. So I will research a bit and try to come up with a solution. So if anyone could help with that, it would be awesome :"D
ProgrammingError at /gsheets/auth-success/
relation "gsheets_accesscredentials" does not exist
LINE 1: ..., "gsheets_accesscredentials"."created_time" FROM "gsheets_a...
hi! I visited /gsheets/authorize and
the login form and etc showed up well and after that scope problem arose but I applied the solution
in this board and it's gone but now the above error turned up.
What should I do? thanks for your great package!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.