SQLAlchemy で factory boy を使用しています。
私は Fact オブジェクトを作成しようとしています。工場の少年に、Fact への外部キーである PatientDim オブジェクトを生成してもらいたいと思っています。しかし Subfactory はキーを渡さず、代わりにオブジェクト全体をforeignkey フィールドに渡します。
Subfactory を介して PatientDim キーのみを渡すにはどうすればよいですか?
工場.py
class FactFactory(SQLAlchemyModelFactory):
class Meta:
model = models.Fact
sqlalchemy_session = common.Session
patient_id = factory.SubFactory(PatientDimFactory)
class PatientDimFactory(SQLAlchemyModelFactory):
class Meta:
model = models.PatientDim
sqlalchemy_session = common.Session
モデル.py
class Fact(TimeStampedModel):
class Meta:
db_table = 'fact'
id = Column(Integer, primary_key=True)
patient_id = Column('patient_id', Integer, ForeignKey(PatientDim.__table__.c.id), nullable=False)
patient = relationship(PatientDim, foreign_keys='Fact.patient_id' )
Base = declarative_base()
class PatientDim(TimestampMixin, Base):
__tablename__ = 'patient_dim'
id = Column('id', Integer, primary_key=True)