覆盖模型__init__以获取一个属性,该属性通过使用另一个属性作为参数运行方法来获取其值

时间:2013-11-04 13:28:22

标签: django django-models

我是Django的新手并且想知道如何更改__init__(我认为这是正确的方法),以便当我添加新对象时,其中一个属性' b& #39;从使用属性值的方法中获取其值' a'作为一个论点。

例如:

我有一个模型Poll,其中包含属性questionasked_online。其中asked_online使用question的值与网络论坛的API进行互动,以检查其是否已在此处被询问,如果是,则将其设置为值true

编辑:

更好的例子。

模特'标签'其中包含属性' name'和' num_post'。 ' num_post'使用' name'查找包含该标记的堆栈溢出的帖子数。

这用作对象的初始值,其中Web应用程序每周更新一次(这只是给出上下文)。

1 个答案:

答案 0 :(得分:2)

您可以将__init__()实现为类的属性,而不是更改asked_online方法。

示例:

class Poll(models.Model):
    #your fields

    @property
    def asked_online(self):
        #check if self.question is asked using some method
        return True # if asked online, else False