Django从模型中调用方法

时间:2014-02-10 11:12:20

标签: python django models

我不知道何时何地可以调用我在模型类

中定义的方法

models.py

class MyClass(models.Model):
    title = models.CharFiled(max_length=255, null=False)
    body = models.TextFiled(max_length=255, null=False)

    def body_formatted(self):
        return "formatted string {0}".format(body)

views.py
def object(request):
   object = MyClass.objects.all()
   return locals()

我何时以及如何调用body_formatted方法来修改我的字段?

1 个答案:

答案 0 :(得分:0)

代码中有很多错误。除此之外,可以在模型的任何实例上调用模型类中定义的方法。实际上,Model是一个普通的python类。

您需要修改以下代码:

#models.py
class MyClass(models.Model):
    title = models.CharField(max_length=255, null=False)
    body = models.TextField(max_length=255, null=False)

    def body_formatted(self):
        return "formatted string {0}".format(self.body)

#views.py
def myview(request):
   # Get a model instance corresponding to the first DB row
   obj = MyClass.objects.first()
   body_formatted = obj.body_formatted()    # Calling the model's method
   return HttpResponse(body_formatted)