如何将外键写入其他模型的属性?

时间:2014-11-04 19:34:54

标签: django django-models

我想创建一个在我的数据库中连接两个表的模型。在写这样的外键时:

fromnode = models.ForeignKey(znode.code)
tonode = models.ForeignKey(znode.code)

出现错误:type object 'znode' has no attribute 'code',但znode中有这样的属性:

class znode(models.Model):
    code = models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, primary_key=True)

如何正确写这个?

1 个答案:

答案 0 :(得分:1)

只需使用班级名称znode代替znode.code。 Django自动为每个模型添加一个id列,用作documentation中提到的参考。

  

在幕后,Django将“_id”附加到字段名称以创建其数据库列名称。在上面的示例中,Car模型的数据库表将包含manufacturer_id列。

此外,您应该使用CamelCaseClassNames来满足pep8 coding style conventions