使用 if-elif-else 语句在回调函数中增加这些喜欢和检查模型属性的最佳方法是什么?

问题描述 投票:0回答:1

我不想创建两个回调函数。我希望此回调使用 if-elif-else 语句以有条件的方式执行。

首先,代码能正常工作吗?所以如果不是,将 house.likes 和 house.checks 放在 if-else 或 if-elif-else 语句中的最佳方法是什么?

def callback(ch, method, properties, body):
    print('Received in config')
    id = json.loads(body)
    print(id)
    
    house = House.objects.get(id=id)
    
    house.likes = house.likes + 1
    house.save()
    print('House likes increased!')
    
    house.checks = house.checks + 1
    house.save()
    print('House checks increased!')

我还没有尝试重构它……还在研究代码块。我不想破坏东西。

python django function django-models callback
1个回答
0
投票

代码将按原样运行,但无论任何条件如何,它都会始终执行

house.likes
house.checks
增量。如果你想根据特定条件执行增量:

def callback(ch, method, properties, body):
    print('Received in config')
    id = json.loads(body)
    print(id)
    
    house = House.objects.get(id=id)
    
    if not house.liked_by_user:
        house.likes = house.likes + 1
        house.save()
        print('House likes increased!')
    
    house.checks = house.checks + 1
    house.save()
    print('House checks increased!')

可以使用类似

if-elif-else
的语句,根据不同的条件执行不同的增量。

© www.soinside.com 2019 - 2024. All rights reserved.