Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中的编程错误:对象没有属性,即使属性在对象中_Python_Django - Fatal编程技术网

Python Django中的编程错误:对象没有属性,即使属性在对象中

Python Django中的编程错误:对象没有属性,即使属性在对象中,python,django,Python,Django,我在Django工作,有一个模型需要包含字段“age”(见下文) 使用utils.py中的一种称为“计算年龄”的方法计算年龄: 但是,我发现错误“ForeignKey”对象没有属性“birth\u date”。我尝试过调整代码以摆脱它,但似乎没有任何效果 有人知道我为什么会犯这个错误吗 谢谢你抽出时间 您不能像这样初始化字段,您试图通过在类的实例被声明之前访问它的值来初始化它 从你的用途来看,你可以把它变成一种财产 改变 age = calculate_age(lifter.birth_date

我在Django工作,有一个模型需要包含字段“age”(见下文)

使用utils.py中的一种称为“计算年龄”的方法计算年龄:

但是,我发现错误“ForeignKey”对象没有属性“birth\u date”。我尝试过调整代码以摆脱它,但似乎没有任何效果

有人知道我为什么会犯这个错误吗


谢谢你抽出时间

您不能像这样初始化字段,您试图通过在类的实例被声明之前访问它的值来初始化它

从你的用途来看,你可以把它变成一种财产

改变

age = calculate_age(lifter.birth_date)


您不能像这样初始化一个字段,您试图通过在类的实例被声明之前访问它的值来初始化它

从你的用途来看,你可以把它变成一种财产

改变

age = calculate_age(lifter.birth_date)


非常感谢你!我相信这是计算年龄(这是我要求的,所以我会接受答案)我也可以问,它不显示年龄时,我去Django管理结果,你知道如何使年龄显示为一个已经填写在Django管理字段(如果有任何意义)?非常感谢!我相信它会计算年龄(这是我要求的,所以我会接受答案)我也可以问一下,当我在Django admin中查看结果时,它不会显示年龄,你知道如何使年龄在Django admin中显示为已填写的字段(如果有意义的话)?
class Lifter(Person):

    birth_date = models.DateField(verbose_name='Fødselsdato', null=True)
    gender = models.CharField(max_length=10, verbose_name='Kjønn', 
    choices=Gender.choices(), null=True)
age = calculate_age(lifter.birth_date)
@property
def age(self):
    return calculate_age(self.lifter.birth_date)