📝 Update admonitions in annotations (#1065)
This commit is contained in:
parent
d55af68fd7
commit
ee44f3b85e
@ -307,8 +307,11 @@
|
||||
|
||||
33. Print the `hero_1`.
|
||||
|
||||
!!! info
|
||||
Even if the `hero_1` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
/// info
|
||||
|
||||
Even if the `hero_1` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
|
||||
///
|
||||
|
||||
Because the `hero_1` is fresh it has all it's data available.
|
||||
|
||||
@ -320,8 +323,11 @@
|
||||
|
||||
34. Print the `hero_2`.
|
||||
|
||||
!!! info
|
||||
Even if the `hero_2` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
/// info
|
||||
|
||||
Even if the `hero_2` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
|
||||
///
|
||||
|
||||
Because the `hero_2` is fresh it has all it's data available.
|
||||
|
||||
@ -333,8 +339,11 @@
|
||||
|
||||
35. Print the `hero_3`.
|
||||
|
||||
!!! info
|
||||
Even if the `hero_3` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
/// info
|
||||
|
||||
Even if the `hero_3` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
||||
|
||||
///
|
||||
|
||||
Because the `hero_3` is fresh it has all it's data available.
|
||||
|
||||
|
@ -14,10 +14,13 @@
|
||||
|
||||
3. Get one hero object, expecting exactly one.
|
||||
|
||||
!!! tip
|
||||
This ensures there's no more than one, and that there's exactly one, not `None`.
|
||||
/// tip
|
||||
|
||||
This would never return `None`, instead it would raise an exception.
|
||||
This ensures there's no more than one, and that there's exactly one, not `None`.
|
||||
|
||||
This would never return `None`, instead it would raise an exception.
|
||||
|
||||
///
|
||||
|
||||
4. Print the hero object.
|
||||
|
||||
|
@ -22,5 +22,8 @@
|
||||
|
||||
We tell it that with the `poolclass=StaticPool` parameter.
|
||||
|
||||
!!! info
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
/// info
|
||||
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
|
||||
///
|
||||
|
@ -22,5 +22,8 @@
|
||||
|
||||
We tell it that with the `poolclass=StaticPool` parameter.
|
||||
|
||||
!!! info
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
/// info
|
||||
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
|
||||
///
|
||||
|
@ -22,5 +22,8 @@
|
||||
|
||||
We tell it that with the `poolclass=StaticPool` parameter.
|
||||
|
||||
!!! info
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
/// info
|
||||
|
||||
You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
|
||||
|
||||
///
|
||||
|
@ -16,10 +16,13 @@
|
||||
|
||||
7. Create a new **session** to query data.
|
||||
|
||||
!!! tip
|
||||
Notice that this is a new **session** independent from the one in the other function above.
|
||||
/// tip
|
||||
|
||||
But it still uses the same **engine**. We still have one engine for the whole application.
|
||||
Notice that this is a new **session** independent from the one in the other function above.
|
||||
|
||||
But it still uses the same **engine**. We still have one engine for the whole application.
|
||||
|
||||
///
|
||||
|
||||
8. Use the `select()` function to create a statement selecting all the `Hero` objects.
|
||||
|
||||
|
@ -13,10 +13,13 @@
|
||||
|
||||
3. Get one hero object, expecting exactly one.
|
||||
|
||||
!!! tip
|
||||
This ensures there's no more than one, and that there's exactly one, not `None`.
|
||||
/// tip
|
||||
|
||||
This would never return `None`, instead it would raise an exception.
|
||||
This ensures there's no more than one, and that there's exactly one, not `None`.
|
||||
|
||||
This would never return `None`, instead it would raise an exception.
|
||||
|
||||
///
|
||||
|
||||
4. Print the hero object.
|
||||
|
||||
|
@ -35,12 +35,15 @@
|
||||
INFO Engine [no key 0.00020s] ('Captain North America',)
|
||||
```
|
||||
|
||||
!!! tip
|
||||
See the `BEGIN` at the top?
|
||||
/// tip
|
||||
|
||||
This is SQLAlchemy automatically starting a transaction for us.
|
||||
See the `BEGIN` at the top?
|
||||
|
||||
This way, we could revert the last changes (if there were some) if we wanted to, even if the SQL to create them was already sent to the database.
|
||||
This is SQLAlchemy automatically starting a transaction for us.
|
||||
|
||||
This way, we could revert the last changes (if there were some) if we wanted to, even if the SQL to create them was already sent to the database.
|
||||
|
||||
///
|
||||
|
||||
7. Get one hero object for this new query.
|
||||
|
||||
@ -98,10 +101,13 @@
|
||||
INFO Engine COMMIT
|
||||
```
|
||||
|
||||
!!! tip
|
||||
See how SQLAlchemy (that powers SQLModel) optimizes the SQL to do as much work as possible in a single batch.
|
||||
/// tip
|
||||
|
||||
Here it updates both heroes in a single SQL query.
|
||||
See how SQLAlchemy (that powers SQLModel) optimizes the SQL to do as much work as possible in a single batch.
|
||||
|
||||
Here it updates both heroes in a single SQL query.
|
||||
|
||||
///
|
||||
|
||||
16. Refresh the first hero.
|
||||
|
||||
@ -115,8 +121,11 @@
|
||||
INFO Engine [generated in 0.00023s] (2,)
|
||||
```
|
||||
|
||||
!!! tip
|
||||
Because we just committed a SQL transaction with `COMMIT`, SQLAlchemy will automatically start a new transaction with `BEGIN`.
|
||||
/// tip
|
||||
|
||||
Because we just committed a SQL transaction with `COMMIT`, SQLAlchemy will automatically start a new transaction with `BEGIN`.
|
||||
|
||||
///
|
||||
|
||||
17. Refresh the second hero.
|
||||
|
||||
@ -129,8 +138,11 @@
|
||||
INFO Engine [cached since 0.001709s ago] (7,)
|
||||
```
|
||||
|
||||
!!! tip
|
||||
SQLAlchemy is still using the previous transaction, so it doesn't have to create a new one.
|
||||
/// tip
|
||||
|
||||
SQLAlchemy is still using the previous transaction, so it doesn't have to create a new one.
|
||||
|
||||
///
|
||||
|
||||
18. Print the first hero, now updated.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user