MasterBook update
This commit is contained in:
@@ -16,4 +16,22 @@
|
||||
|
||||
### Üres Swagger (OpenAPI) felület
|
||||
* **Ok:** Ha az SQLAlchemy Mapper vagy egy Pydantic séma importja hibás, a FastAPI nem tudja legenerálni a dokumentációt.
|
||||
* **Javítás:** Ellenőrizd a `docker logs` kimenetét indításkor, keresd a `MapperConfigurationError` vagy `ImportError` sorokat.
|
||||
* **Javítás:** Ellenőrizd a `docker logs` kimenetét indításkor, keresd a `MapperConfigurationError` vagy `ImportError` sorokat.
|
||||
|
||||
# 17. Developer Notes & Pitfalls
|
||||
|
||||
## 17.1. SQLAlchemy & Circular Imports
|
||||
**Hiba:** `InvalidRequestError: Mapper has no property 'organization'`
|
||||
**Ok:** Ha egy modellben definiálsz egy `ForeignKey`-t, de nem adod hozzá a `relationship`-et, a SQLAlchemy mapper inicializáláskor összeomolhat, ha egy másik modell próbál hivatkozni rá (back_populates).
|
||||
**Megoldás:** Mindig párban definiáld a kapcsolatokat (FK + relationship).
|
||||
**Példa javítás (AssetAssignment):**
|
||||
```python
|
||||
organization_id = Column(Integer, ForeignKey("data.organizations.id"))
|
||||
organization = relationship("Organization") # Ez hiányzott!
|
||||
|
||||
17.2. Configuration Missing
|
||||
|
||||
Hiba: AttributeError: 'Settings' object has no attribute 'STATIC_DIR' Tanulság: Ha fájlrendszer műveleteket végzel (pl. JSON export), mindig a core/config.py-ban definiáld az abszolút útvonalakat (BASE_DIR, STATIC_DIR), ne hardkódolj útvonalakat a service fájlokban.
|
||||
17.3. Database Migrations
|
||||
|
||||
Best Practice: Ha mezőt adsz hozzá egy modellhez (pl. User.region_code), azonnal generálj Alembic migrációt (alembic revision --autogenerate), különben az API 500-as hibát dob, mert a Python objektum attribútuma létezik, de az SQL lekérdezés nem adja vissza az oszlopot.
|
||||
Reference in New Issue
Block a user