我在Django有以下型号:
class News(models.Model):
title = models.CharField(max_length=1000)
# some fields
image = models.ForeignKey("media.Image",blank=True, null=True)
# and in another django module
class Image(models.Model):
url = models.URLField(max_length=1000)
在Postgres中,它看起来像:
=> \d newsfeed_news
Column | Type | Modifiers
-------------+--------------------------+------------------------------------------------------------
id | integer | not null default nextval('newsfeed_news_id_seq'::regclass)
...
image_id | integer |
这意味着表中的字段“Image”只是整数字段,包含Image的ID。你知道吗
我试图在炼金术中建立这些关系:
class Image(Base):
__tablename__ = 'media_image'
id = Column(Integer, primary_key=True)
url = Column('url',String)
class newsTable(Base):
__tablename__ = 'media_news'
id = Column(Integer, primary_key=True)
# some fields
image_id = Column(Integer, ForeignKey('Image.id'))
image = relationship("Image", uselist=False)
但我有以下错误:
Can't find any foreign key relationships between 'newsfeed_news' and 'media_image'. Could not determine join condition between parent/child tables on relationship newsTable.image - there are no foreign keys linking these tables.
Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
我做错了什么?你知道吗
根据文档^{} 接受
column
参数,该参数定义为:尝试将列名指定为字符串,但没有名为
Image
的表。您可以直接从Image
模型引用Column
对象:或提供正确的表名:
相关问题 更多 >
编程相关推荐