Проверка правильности сложного объекта в Flask - PullRequest
0 голосов
/ 28 марта 2020
def validateWord(classObject):
    if (hasattr('classObject', 'students') and 0 < len(classObject["students"])):
        studentObject = classObject["students"][0]
    else:
        return False


    if ("id" in classObject and "name" in classObject and "id" in studentObject and "fName" in studentObject and "lName" in studentObject):
        return True
    else:
        return False

У меня есть объектный класс, и внутри него есть объект с именем студентов. Между этими двумя объектами существует отношение один ко многим, и мне нужно проверять этот сложный объект всякий раз, когда пользователь делает запрос POST. Проблема в том, что у меня сложный объект, и написанная мною проверка работала бы, только если у меня только 1 ученик в классе. Как написать функцию проверки, которая проверяет каждого учащегося, а не просто проверяет первую?

Я использую Flask. Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 28 марта 2020

Если вы хотите проверить "id" in studentObject and "fName" in studentObject and "lName" in studentObject для всех студентов, вы можете использовать функцию all().

Например:

def validateWord(classObject):
    if "students" in classObject:
        students = classObject["students"]
        return (
            "id" in classObject
            and "name" in classObject
            and all("id" in student and "fName" in student and "lName" in student
                    for student in students)
        )
    else:
        return False

Примечание: Я думаю, что вам нужно написать hasattr(classObject, "students") вместо hasattr("classObject", "students") или, может быть, это "students" in classObject.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...