只能将元组(不是"int")连接到元组 - 在 django/python 中的 if 语句后求和 2 个变量



我希望将2个变量之和在一起并获得错误:'只能将元组(不是"int")连接到元组'(错误编辑自原始帖子)

总之,我有一个待办事项列表。每次通过创建Validation对象模型来验证action时,action被赋1点。

如果task中的所有actions都得到1分,则认为task已完成。

我被卡在点的和上了。

我觉得我需要在我的if语句之后写一个for循环,把每个动作中的每个点加在一起。我试了不同的组合,但似乎没有一个奏效。

我理解错了吗?(我确信我的代码也远不是最优的,所以如果你提供一个替代方案,我不会生气)

class Action(models.Model):
name = models.CharField(verbose_name="Name",max_length=100, blank=True)
class ValidationModel(models.Model):
user = models.ForeignKey(UserProfile, blank=True, null=True, on_delete=models.CASCADE)
venue = models.ForeignKey(Action, blank=True, null=True, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True)
class Task(models.Model):
title = models.CharField(verbose_name="title",max_length=100, null=True, blank=True)
venue = models.ManyToManyField(Action, blank=True)
created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True)

class TaskAccepted(models.Model):
name = models.ForeignKey(Task,null=True, blank=True, on_delete=models.SET_NULL, related_name='task_accepted')
user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
accepted_on = models.DateTimeField(auto_now_add=True, null=True, blank=True)

def function(request, taskaccepted_id):
instance_1 = Action.objects.filter(task__id=taskaccepted_id)
action_count = instance_1.count()
instance_2 = get_object_or_404(Task, pk=taskaccepted_id)
sum_completed =()
for action in instance1:

for in_action in action.validationmodel_set.all()[:1]:
latest_point = in_action.created_at
action_completed = in_action
if latest_point > instance_2.accepted_on:
action_completed = 1   
else:
action_completed = 0
sum_completed += venue_completed #<-- can only concatenate tuple (not "int") to tuple

我的问题在这里:

sum_completed =()

应该是

sum_completed =0

和@ivvija工作

总而言之,如果有人和我的情况一样:

def function(request, taskaccepted_id):
instance_1 = Action.objects.filter(task__id=taskaccepted_id)
action_count = instance_1.count()
instance_2 = get_object_or_404(Task, pk=taskaccepted_id)
sum_completed =0
for action in instance1:

for in_action in action.validationmodel_set.all()[:1]:
latest_point = in_action.created_at
action_completed = in_action
if latest_point > instance_2.accepted_on:
action_completed = 1   
else:
action_completed = 0
sum_completed += action_completed

相关内容

  • 没有找到相关文章

最新更新