Как позволить Python использовать varaible в качестве индикатора элемента списка - PullRequest
0 голосов
/ 22 октября 2019
def enable_or_disable(value, user_id):
    user = User.select().where(User.user_id == user_id).get()
    if user.weekly
        user.weekly = True

У меня есть этот код, и я хочу использовать поле, указанное в «значении» вместо «еженедельно». Но если бы я изменил его на user.value, он попытался бы обратиться к полю «значение». Но я хочу получить доступ к полю с именем значения переменной "value".

РЕДАКТИРОВАТЬ:

def enable_or_disable(value, user_id):
    user = User.select().where(User.user_id == user_id).get()
    if getattr(user, value) is False:
        setattr(user, value, True)
        print(getattr(user, value))
    else:
        setattr(user, value, False)
        print(getattr(user, value))
    user.save()
...
enable_or_disable("weekly", update.effective_user.id)

Это все еще не будет работать. Он всегда печатает false, и если я смотрю на базу данных sqlite, то всегда один

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