2014-02-10 3 views
0

я не знаю, когда и где можно называть мой метод, который я определить в модели классаметоды Джанго звонок из моделей

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 метод для изменить мои поля?

ответ

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) 
Смежные вопросы