python


Check if value is already exists in ListProperty of Google Datastore Model in Python


I just start to learn python and I'm also new to Google Datastore Models. So please forgive me if this question looks too noob.
What I'm trying to do is pretty simple.
I'm validating if the user is already liked on a post.
So I need to check if a key is inside the ListProperty of the Google Datastore Model. PFB for my code.
#classmethod
def likePost(cls,user_key):
if user_key not in cls.liked_user:
cls.liked_user.append(user_key)
return True
else:
return False
The cls is the "Post" object of the Model type from Google Datastore.
'liked_user' is the attribute type ListProperty of the "Post" object.
But apparently, ListProperty is not iterable. Below is the error from console.
TypeError: argument of type 'ListProperty' is not iterable.
So, please help me to figure out how to achieve it.
I tried googling for hours, still cannot figure out how to implement this one.
Thanks in advance.
These properties don't apply to a model class, they apply to individual instances of that model. An instance represents an entity in the datastore, and it is this instance that has a list in its "liked_user" field. It makes no sense to ask if a value is in a class property.
It's not quite clear what you are trying to do here. If you just want to know if a user has already liked another user, then it shouldn't be a classmethod at all; just a normal instance method, which takes the instance.
# no decorator
def likePost(self, user_key):
if user_key not in self.liked_user:
self.liked_user.append(user_key)
return True
else:
return False
If however you are trying to find out if any instance has that key in its liked_user, then you need to query the database:
#classmethod
def likePost(cls,user_key):
users = cls.query(cls.liked_user == user_key).get()
if users:
...

Related Links

Upload CSV in myBucket and Read File in S3 AWS using python
Docker, dockercloud and Cron
Flask - database items not being created with form submission
Customize help among groups in argparse
How to read line and remove line in Python?
List of lists; how do I concatenate each value to a new list? [duplicate]
Override operator in two different ways (Python 2.7) [duplicate]
How to get a specific response by using suds module for soap request?
How to find a set of values from a list of lists which contains no repetitions
filter hyperlinks - python
Get movie information from IMDb API website
super() method resolution in python
i need to add time to the python key logger [duplicate]
Python and regex to find a number of length 5
Django REST same API for different countries
How to pass boost::none to Python Quantlib

Categories

HOME
makefile
caching
ibm-watson-cognitive
itext
rotation
webrtc
translation
decorator
qpython3
google-sheets-api
angular2-directives
automated-tests
is-empty
internet-explorer-11
desktop
cortex-a
mod-pagespeed
ejs
lstm
google-people
clover
ip-camera
jni
cronet
pdfsharp
java-ee-7
hash-collision
winscp
svnkit
m2e
modelandview
pycparser
salesforce-chatter
recurrence-relation
broadleaf-commerce
.net-assembly
zero
android-download-manager
issue-tracking
excel-interop
fastq
php-ews
proof
defold
sapui
istorage
spring-data-hadoop
pluck
jcreator
libreadline
mailcatcher
linkageerror
webhdfs
digits
httpie
epl
code-first-migrations
hana-xs
grunt-contrib-concat
formvalidation-plugin
genetic-programming
sthttprequest
dache
valence
boost-test
voldemort
json-patch
dynamic-binding
mstsc
mailcore
process-monitor
mvccontrib
blockingqueue
cadisplaylink
applicationcontext
responsetext
isolatedstorage
law-of-demeter
text-size
django-nose
sendfile
pivotal-crm
nvelocity
symbol-server
email-spec
winverifytrust
graniteds
code-design
web-statistics
lazy-c++
evb

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App