在我看来,除了一点点语法糖,property()没有任何好处.
当然,这是好的能够写a.b=2的不是a.setB(2),但隐瞒事实,即AB = 2不是一个简单的任务看起来像麻烦的前提,要么是因为一些意想不到的结果都可能发生,如a.b=2实际上导致a.b要1.或者引发异常.或者性能问题.或者只是让人困惑.
你能给我一个具体的例子来好好利用它吗?(使用它修补有问题的代码不计算;-)
这个问题就像django 排序,但我无法使任何解决方案起作用。
我有以下模型:
from django.db import models
from django.contrib.auth.models import User
class Product(models.Model):
    title = models.CharField(max_length=200)
    pub_date = models.DateTimeField()
    body = models.TextField()
    url = models.TextField()
    image = models.ImageField(upload_to='images/')
    icon = models.ImageField(upload_to='images/')
    votes_total = models.IntegerField(default=1)
    hunter = models.ForeignKey(User, on_delete=models.CASCADE)
    def summary(self):
        return self.body[:50]
    def pub_date_pretty(self):
        return self.pub_date.strftime('%b %e %Y')
    def __str__(self):
        return self.title
我想按 votes_total 排序,以便当我遍历数据库时,结果按 votes_total 排序。
{% extends 'base.html' %}
{% block content %}
{% for product in products.all %}
<div class="row pt-3">
  <div class="col-2" onclick="window.location='{% url …