我正在创建一个应用程序,将记录田径事件和点数.最后,我想在屏幕上显示房子(球队)、积分和他们的整体位置.得分最高的球队将是第一名,以此类推.

我的模型有一个字段points,它将随着结果的记录而更新.我想让模型根据其他物体的点自动确定团队的位置.我怎样才能做到这一点呢?

以下是我的代码: Models.py

class House(models.Model):
    name = models.CharField(max_length=255)
    points = models.FloatField(default=0, null=False)
    house_color = models.CharField(max_length=10, null=False, blank=False, default='red')
    position = models.IntegerField(default=4)


    def determine_position(self):
        all_houses_queryset = self.objects.all()
        
   

我try 在模板上获取有序查询集的索引,但它抛出了一个值错误.

Views.py

def dashboard(request):

    ordered_houses = House.objects.all().order_by('-points').values()
    context = {
        'houses': ordered_houses,
        'range': [1,2,3,4],
    }

    return render(request, 'core/index.html', context)

Index.html {% for index, house in houses %}

推荐答案

只需列举以下项目:

def dashboard(request):
    ordered_houses = enumerate(House.objects.order_by('-points'), 1)
    return render(request, 'core/index.html', {'houses': ordered_houses})

并与以下各项一起工作:

{% for index, house in houses %}
    <!-- … -->
{% endfor %}

don't使用值,它是primitive obsession antipattern [refactoring.guru],防止expose 模板中的逻辑,并遵循类似ForeignKey的关系.

Python相关问答推荐

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

输出中带有南的亚麻神经网络

什么相当于pytorch中的numpy累积ufunc

C#使用程序从Python中执行Exec文件

OR—Tools CP SAT条件约束

如果条件不满足,我如何获得掩码的第一个索引并获得None?

Pandas:将多级列名改为一级

cv2.matchTemplate函数匹配失败

如何杀死一个进程,我的Python可执行文件以sudo启动?

如何使用使用来自其他列的值的公式更新一个rabrame列?

找到相对于列表索引的当前最大值列表""

如何删除重复的文字翻拍?

如何获得3D点的平移和旋转,给定的点已经旋转?

如何将泛型类类型与函数返回类型结合使用?

需要帮助使用Python中的Google的People API更新联系人的多个字段'

如何在SQLAlchemy + Alembic中定义一个"Index()",在基表中的列上

具有不匹配列的2D到3D广播

如何关联来自两个Pandas DataFrame列的列表项?

如何在Python中实现高效地支持字典和堆操作的缓存?

如何在Python中画一个只能在对角线内裁剪的圆?