S'il vous plaît considérer le tableau suivant:Web2py Valeur du champ dépend d'un autre champ - (validation tout en définissant le modèle)
db.define_table('bio_data',
Field('name', 'string'),
Field('total_mark', 'integer', requires=IS_EMPTY_OR(IS_INT_IN_RANGE(0, 1e100))),
Field('marks_obtained', 'integer')
)
Maintenant, le champ « marks_obtained » ne peut pas avoir une valeur supérieure à la « total_marks ».
J'ai essayé ce qui suit
db.bio_data.marks_obtained.requires = IS_EMPTY_OR(
IS_INT_IN_RANGE(0, db.bio_data.total_mark))
Mais cela ne fonctionne pas. J'obtiens l'erreur suivante:
TypeError: int() argument must be a string or a number, not 'Field'
Toute aide est très appréciée.
trouver un moyen d'obtenir la valeur entière de 'Field'. –
Oui c'est la question ici, comment puis-je obtenir une valeur au lieu d'un champ. J'ai essayé ce qui suit, mais encore obtenir l'erreur: champ '('marks_obtained', 'entier', nécessite = rang lambda: IS_EMPTY_OR (IS_INT_IN_RANGE (0, db.bio_data (row.id) .total_mark)))' Et vous demander de s'il vous plaît ne pas downvote sans comprendre l'ensemble du problème ou des connaissances. –
pouvez-vous taper 'dir (db.bio_data.total_mark)' et voir ce qu'il renvoie? Avez-vous juste essayé 'int (db.bio_data.total_mark)' –