У меня есть следующие модели Django:Как описать отношения One To One от Django ORM в SqlAlchemy?
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» в таблице - это просто целое поле, содержащий идентификатор образ.
Я пытался построить эти отношения в SQLAlchemy:
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.
Что я делаю не так?