---
title: "python - Concepts of backref and back_populate in SQLalchemy? ..."
description: "!https://stackoverflow.com/questions/51335298/concepts-of-backref-and-back-populate-in-sqlalchemy#answer-59920780"
date: 2024-03-06
published: true
tags:
  - database
  - python
  - sqlalchemy
  - thought
template: link
---


<div class="embed-card embed-card-external">
  <a href="https://stackoverflow.com/questions/51335298/concepts-of-backref-and-back-populate-in-sqlalchemy#answer-59920780" class="embed-card-link" target="_blank" rel="noopener noreferrer">
    <div class="embed-card-content">
      <div class="embed-card-title">External Link</div>
      <div class="embed-card-meta">stackoverflow.com</div>
    </div>
  </a>
</div>


Today I came across some sqlalchemy models that created some relationships, some used `backref` 
 some used `back_populates`.   I was stumped why, I had never came accross `backref` before and I felt skill issues sinking in.

## backref is considered legacy

https://docs.sqlalchemy.org/en/14/orm/backref.html

As stated in the sqlalchemy docs, backref is a legacy feature.  Its shorthand to creating relationships between parent and child, but only adding it to the parent.  While this is simpler it introduces some invisible magic.

