I'm trying to delete a certain row among others with this code:
@auth.requires_login()
def Daily_Calorie_Calculator():
diary_date = None
result_breakfast = []
result_lunch = []
result_dinner = []
result_snack = []
calories_sum = 0
protein_sum = 0
fat_sum = 0
carbs_sum = 0
#Deleting a specific row
if request.vars.delete:
#row = db(db.diary.author== auth.user.id).delete()#deletes all
posted rows data unfortunately. I only want to delete a specific selected
row
[image: lunch.png]
row = db(db.diary.id==request.vars.delete).delete()# deletes all
except under 'lunch'
db.commit()
redirect(URL('default', 'Daily_Calorie_Calculator',
vars=dict(current_date=session.date)))
#Working with a diary date
from datetime import datetime
if request.vars.current_date == None:
diary_date = date.today()
else:
diary_date = request.vars.current_date
session.date = date.today()#datetime.strptime('Jun 1 2005 1:33PM', '%b
%d %Y %I:%M%p')
#Getting goal values for current user
goals = db(db.projected.created_by == auth.user_id).select().first()
#Getting diary for current user
rows = db(db.diary.created_by == auth.user_id)
results = rows(db.diary.today ==
date.today()).select()#diary_date).select()
for row in results:
calories_sum += row.calories
protein_sum += row.protein
fat_sum += row.fat
carbs_sum += row.carbs
if row.meal == 'breakfast':
result_breakfast.append(row)
if row.meal == 'lunch':
result_lunch.append(row)
if row.meal == 'dinner':
result_dinner.append(row)
if row.meal == 'snack':
result_snack.append(row)
return dict(diary_date=diary_date, result_breakfast=result_breakfast,
result_lunch=result_lunch, result_dinner=result_dinner,
result_snack=result_snack, calories_sum=calories_sum,
protein_sum=protein_sum, fat_sum=fat_sum, carbs_sum=carbs_sum, goals=goals)
db.define_table('diary',
Field('author', 'reference auth_user',
default=auth.user_id, writable=False, readable=False),
Field('meal'),
Field('today', 'date'),
Field('food_item'),
Field('calories', 'integer'),
Field('carbs', 'integer'),
Field('fat', 'integer'),
Field('protein', 'integer'),
Field('created_by', 'reference auth_user',
default=auth.user_id, readable=False, writable=False))
When I want to delete any row under 'LUNCH', I get this error:
ValueError: Invalid objectid argument string. Requires an integer or base 16
value
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.