我做错了什么?
class MyModel(models.Model):
name = models.CharField(max_length=100, verbose_name=_("Name"), blank=False, null=False)
rating = models.DecimalField(max_digits=2, decimal_places=2, default=0)
我可以这样做:
average = count/len(votes)
mymodel.rating = average
mymodel.save()
count是给定MyModel的所有评级的总和,投票是这些评级的数组,他们的分区给出MyModel的平均评分(对不起,如果我因为我的英语不好而描述不正确)
if i change previous to:
mymodel.name = 'anything'
mymodel.save()
然后'任何'在数据库中结束,但评级不会。
为什么呢?我使用错误的字段类型吗?
艾伦。
答案 0 :(得分:2)
max_digits是前的和小数点后的的位数。使用您的设置,您可以存储0.00到0.99之间的数字。这样对吗?我无法弄清楚平均值变量的值范围。
答案 1 :(得分:1)
模型不进行验证。您使用的类型几乎处理syncdb等事务而不是数据的实际格式化,这就是Form的用途。