【发布时间】:2017-09-28 12:22:25
【问题描述】:
您能否在 Django 模型中定义一个将使用 .save() 函数的函数。
Class Restaurant(models.Model)
name = models.CharField(max_length=25)
rating = models.PositiveIntegerField(validators=[MaxValueValidator(100), MinValueValidator(0)], default=50)
def change_rating(self, value)
self.rating += value
self.rating.save()
这行得通吗?这是最佳做法吗?
在这样的视图中完成此操作是否更好:
*views.py
def change_rating(name, amount):
res = Restaurant.objects.get(name=name)
res.rating += amount
res.save()
感谢您的帮助!
【问题讨论】:
-
你试过了吗?你有什么理由认为这不是一个好的做法?
-
我的编程技能处于“我可以让它工作”的水平。我很好奇是否有一些我不知道的东西会使另一种实现这一目标的方法成为更好的选择。真的,我只是在寻找意见和想法。