我想创建一个在我的数据库中连接两个表的模型。在写这样的外键时:
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)
如何正确写这个?
答案 0 :(得分:1)
只需使用班级名称znode
代替znode.code
。 Django自动为每个模型添加一个id列,用作documentation中提到的参考。
在幕后,Django将“_id”附加到字段名称以创建其数据库列名称。在上面的示例中,Car模型的数据库表将包含manufacturer_id列。
此外,您应该使用CamelCaseClassNames来满足pep8 coding style conventions。