에서 구조화 된 반복 목록의 요소 하나를 제거합니다. 최근에 Google App Engine에서 ext.db에서 NDB로 전환했으며 어려움을 겪고 있습니다. (그리고 나는 OOP를 처음 접했습니다.)GAE NDB
문제점 : 사용자는 좋아하는 과일, 점수 및 설명을 입력 할 수 있으며, 이는 구조화 된 목록에 저장됩니다. 사용자 프로필 페이지에는 과일 이름과 그 옆에있는 "과일 제거"버튼이 표시됩니다.이 버튼을 클릭하면 항목이 목록에서 제거되므로 구조화 된 목록에서 삭제됩니다. 나는 ext.db를 사용하여 목록의 요소를 제거하고 문제를 해결할 수있었습니다. 이것은 내가 ext.db 함께 가지고하는 데 사용되는 것입니다
은, 더 "점수"또는 "의견"은 저장되지 :이 데이터베이스에서 사용자 fruitName
에 의해 지정된 이름을 제거 할
class UserProfile(db.Model):
uid = db.StringProperty(required=True)
password = db.StringProperty(required=True)
firstName = db.StringProperty(required=True)
favFruits = db.StringListProperty()
def deleteFruit(self, fruitName):
if fruitName in self.favFruits: # <--favFruit is the list of fruit for a user
self.favFruits.remove(fruitName)
self.put()
return OK
else:
return NOT_FOUND
.
나는 실제적으로 NDB를 사용 favFruits라는 구조화 된 목록 지금, 말하기, 위의 작업을 수행 할 :
내가 관련된 사용자가 입력 한fruitName
을 삭제 모든 요소를 사용하여
favFruits
에 항목을 찾으려면
class FavFruits(ndb.Model):
fruit = ndb.StringProperty()
score = ndb.IntegerProperty()
comment = ndb.TextProperty()
class UserProfile(ndb.Model):
uid = ndb.StringProperty(required=True)
password = ndb.StringProperty(required=True)
firstName = ndb.StringProperty(required=True)
favFruits = ndb.StructuredProperty(FavFruits, repeated=True)
fruitName에 대한 favFruits가 있습니다 (과일, 점수, fruit==fruitName
과 관련된 덧글이 삭제됩니다). 루핑을 피하고 싶습니다.
행운을 들이지 않고 remove()
및 delete()
개의 변형을 시도했습니다. 모든 안내가 크게 감사하겠습니다!